Eu sou novo Aqui.
Eu estou tentando fazer um jogo em j2me
o Código Fonte “é”.
import java.io.IOException;
import javax.microedition.lcdui.Display; // Added
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.game.LayerManager;
public class exemplo2 extends MIDlet {
public exemplo2() { // Added
pongCanvas = new PongCanvas(); // Added
} // Added
public void startApp() {
Display display = Display.getDisplay(this); // Added
pongCanvas.start(); // Added
display.setCurrent(pongCanvas); // Added
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
private static PongCanvas pongCanvas; // Added
}
class PongCanvas extends GameCanvas implements Runnable {
private int sleepTime = 30;
private Image imnaruto;
private Image imfundo;
private Sprite naruto;
private LayerManager lmgr;
private Sprite fundo;
private int narutox = getWidth()/2 ;
private int narutoy = getHeight()/2 + 78;
private int correndo [] = {1,0};
private int parado [] = {0};
public PongCanvas() {
super(false);
}
public void run() {
while(true) {
updateScreen(getGraphics());
try {
Thread.sleep(sleepTime);
} catch (Exception e) {
}
}
}
public void start() {
try{
imnaruto = Image.createImage("/naruto.PNG");
imfundo= Image.createImage("/fundo.PNG");
lmgr = new LayerManager();
} catch (IOException ioex) {
System.out.println(ioex);
}
arena();
naruto();
naruto.setFrameSequence(parado);
Thread runner = new Thread(this);
runner.start();
}
private void arena(){
fundo = new Sprite(imfundo,2000,320);
fundo.defineReferencePixel(120, 160);
fundo.setRefPixelPosition(120, 160);
}
private void naruto(){
naruto = new Sprite(imnaruto,26,35);
naruto.defineReferencePixel(13, 35/2);
naruto.setRefPixelPosition(narutox, narutoy);
}
private void updateScreen(Graphics g) {
checkeys();
lmgr.append(naruto);
lmgr.append(fundo);
naruto.nextFrame();
lmgr.paint(g, 0,0);
flushGraphics();
}
private void checkeys(){
int keyState = getKeyStates();
if ((keyState & RIGHT_PRESSED) != 0){
naruto.setFrameSequence(correndo);
}
if ((keyState & LEFT_PRESSED) != 0){
naruto.setFrameSequence(correndo);
}
}
}
o fundo e o personagem carrega, ma quando pressiono ESQUERDO ou DIREITO meu pesonagem nao anima, ai quando eu solto a tecla ele anima
Onde eu errei?