Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

j2me: Tiled Layer prost primer a ne radi

[es] :: Java :: j2me: Tiled Layer prost primer a ne radi

[ Pregleda: 1172 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Duke Nukem
Miroslav Mitic
dipl.mas.ing - tehnolog za hidrauliku/
REL, MAG panciranje i zavarivanje bla
bla...
Lazarevac

Član broj: 38933
Poruke: 143
*.eunet.yu.



+1 Profil

icon j2me: Tiled Layer prost primer a ne radi16.01.2008. u 15:57 - pre 198 meseci
Molim znalce da mi pomognu
Tu source koji me zajebava vec 15 dana ne mogu mu nista
Tiled Layer jednostavno odbija saradnju. (Sve se lepo kompajluje ali nece da vrati objekat Tiled Layer) ;(
da li ima neki doktor za ovu bolest ?

Code:

/*

verzija 5 sa   Tiled Layerom
*/

/*  import   */
import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;

/*
verzija :  1.0
  */

public final class GameCanvas1 extends GameCanvas implements Runnable
{
    private boolean isPlay;
    private long    delay;
    private int     currentX, currentY;
    private int     width;
    private int     height;
    //TiledLayer
public TiledLayer tiledBackground;    
    // Slike
Image tileImage;    
    // Sprajtovi

// Layer manager
private LayerManager layerManager;    

// Inicijalizacija konstruktora

//--------------------------------------------------------------------------------
public GameCanvas1() throws Exception 
{
 super(true);
 width = getWidth();
 height= getHeight();
 
 delay = 20;
 try
 {
 //tiledBackground = initBackground();
 try
  {
 tileImage = Image.createImage("/Background.png");
  }
catch(Exception e)
 {
 System.out.println("Problem sa kreiranjem slike");
 System.out.println(e.toString());    // ok
 }  
 
 try
  {
    
 tiledBackground = initBackground();
  }
  catch(Exception e)
   {
 System.out.println("Problem sa Tiled Layerom"); // tu je negde greska
 System.out.println(e.toString());
   
   }
  
} catch(Exception e)
 {
 System.out.println("Konstruktor ufatio gresku");
 System.out.println(e.toString());

 }
 // Ucitavanje sprajtova


// podesavanje layer managera 
 layerManager = new LayerManager();
 layerManager.append(tiledBackground); 

}

//--------------------------------------------------------------------------------
// Automatski startuje nit za petlju igre
public void start()
{
isPlay = true;
Thread t = new Thread(this);
t.start();
}
public void stop()
{
isPlay = false;
}
//--------------------------------------------------------------------------------
// GLAVNA PETLJA
public void run()
{
Graphics g = getGraphics(); // klasa GameCanvas
  while(isPlay== true)
   {
     input();
     drawScene(g);
       try 
        {
        Thread.sleep(delay);
        }
        catch(InterruptedException ie)
        {
        System.out.println("run ufatio gresku");
    
        }
    // Metde za handle user input a
   }  // end while
  
} // end run    
//--------------------------------------------------------------------------------
    private void input()
    {
    
    // no input
    
   }        // end input
//--------------------------------------------------------------------------------
  
// Metode za prikaz grafike

    private void drawScene(Graphics g)
    {
    
       g.setColor(0xffffff);
       g.fillRect(0,0,getWidth(), getHeight());
       g.setColor(0x0000ff);
       // prikaz spritova
       
       // prikazati sve slojeve
       layerManager.paint(g,0,0);
              
      // PlayerSprite.paint(g);
       flushGraphics();
       }
//--------------------------------------------------------------------------------        
private TiledLayer initBackground() throws Exception
{
Image tileImage = Image.createImage("/Background.png");
TiledLayer tiledLayer = new TiledLayer(10,10,tileImage,32,32);

int map[] = {
5,1,1,4,1,1,1,1,1,6,
5,1,3,1,1,3,1,1,1,6,
5,1,2,1,1,2,1,1,1,6,
5,1,2,3,1,2,1,1,1,6,
5,1,4,2,1,2,1,1,1,6,
5,1,1,4,1,2,1,1,1,6,
5,1,1,1,1,4,1,1,1,6,
5,1,1,1,1,1,1,1,1,6,
5,1,1,1,1,1,1,1,1,6,
5,1,1,1,1,1,1,1,1,6

};
//--------------------------------------------------------------------------------
    for(int i=0; i< map.length;i++)
     {
     int col = i%10;
     int row = (i-col)/10;
     tiledLayer.setCell(col,row,map[i]); 
     }
     
return tiledLayer;

}        
//--------------------------------------------------------------------------------
        
}     // kraj za klasu


i glavni midlet

Code:

/*
   Game5 No animated Tiled Layer

*/


/*  import   */
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;


/*
verzija :  1.0
*/




public  class Game5MIDlet  extends MIDlet 
{
private Display display;

public Display getDisplay()
{
   return display;
}


public void startApp()
{
try
{
 display = Display.getDisplay(this);
 GameCanvas1 gc1 = new GameCanvas1();
 gc1.start();
 display.setCurrent(gc1);
 } catch( Exception e)
  {
    System.out.println(e);
    System.out.println("Game5MIDlet uhvatio gresku");
  }

}



public void pauseApp()
{

}

public void destroyApp(boolean unc)
{
exit();
}

public void exit()
{
System.gc();
destroyApp(false);
notifyDestroyed();
}


}


i naravno postoji slika dimenzija 32x196 u direktorijumu res

Unapred hvala na strpljenju
Tape loading error
 
Odgovor na temu

Duke Nukem
Miroslav Mitic
dipl.mas.ing - tehnolog za hidrauliku/
REL, MAG panciranje i zavarivanje bla
bla...
Lazarevac

Član broj: 38933
Poruke: 143
*.eunet.yu.



+1 Profil

icon Re: j2me: Tiled Layer prost primer a ne radi18.01.2008. u 12:30 - pre 198 meseci
Nasao sam gresku moze da posluzi za primer gluposti

naime slika je predugacka tj. 32*6=192 a ne 196 ;O)

Kod je ispravan.
Tape loading error
 
Odgovor na temu

[es] :: Java :: j2me: Tiled Layer prost primer a ne radi

[ Pregleda: 1172 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.