agente mm8
07-07-2008, 20:37
Ho un gravissimo problema:
ho letto un tuto sulla creazione di giochi in j2me. Il fatto è che lo scritto compilato e tutto a posto. Poi accidentalmente ho cambiato il codice e ho dovuto riscriverlo da capo. Ora però quando lo vado a compilare mi dà un sacco di errorri e mi dice sempre: "class or interface expected" alle righe: 27,30,32,33,36,37,40,41,44,45,47,50,51,52,53,54,55,56,59,60,61,62,67,68(x 2 volte),72,75, e tuttew alla classe MioCanvas.
Ora vi posto il codice:
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.io.IOException;
public class MioCanvas extends GameCanvas implements Runnable
{
private Image img;
private Sprite sprite;
private boolean inGioco;
private int posX, posY;
public MioCanvas()
{
super(true);
try{
img = Image.createImage("/pallaTraspAni.png");
sprite = new Sprite(img, 32, 32);
}catch (IOException ex)
{
System.err.println("Errore: " + ex);
}
posX = 10;
posY = 10;
}
}
private void input()
{
int tasto = getKeyStates();
if((tasto & LEFT_PRESSED) != 0){
sprite.setFrame(2);
posX -= 5;
}
if((tasto & RIGHT_PRESSED) != 0){
sprite.setFrame(1);
posX += 5;
}
if((tasto & UP_PRESSED) != 0){
sprite.setFrame(3);
posY -= 5;
}
if((tasto & DOWN_PRESSED) != 0){
sprite.setFrame(0);
posY += 5;
}
}
public void disegna()
{
Graphics g = getGraphics();
g.setColor(187, 213, 251);
g.fillRect(0, 0, getWidth(), getHeight());
sprite.setPosition(posX, posY);
sprite.paint(g);
flushGraphics();
}
public void start()
{
inGioco = true;
Thread t = new Thread(this);
t.start();
}
public void run()
{
while(inGioco == true)
{
input();
disegna();
try{Thread.sleep(50);}
catch(InterruptedException ie) {}
}
}
public void stop()
{
inGioco = false;
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MioMidlet extends MIDlet
{
private Display d;
private MioCanvas schermata;
public MioMidlet()
{
d = Display.getDisplay(this);
schermata = new MioCanvas();
schermata.start();
}
protected void startApp()
{
d.setCurrent(schermata);
}
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) {}
}
ho letto un tuto sulla creazione di giochi in j2me. Il fatto è che lo scritto compilato e tutto a posto. Poi accidentalmente ho cambiato il codice e ho dovuto riscriverlo da capo. Ora però quando lo vado a compilare mi dà un sacco di errorri e mi dice sempre: "class or interface expected" alle righe: 27,30,32,33,36,37,40,41,44,45,47,50,51,52,53,54,55,56,59,60,61,62,67,68(x 2 volte),72,75, e tuttew alla classe MioCanvas.
Ora vi posto il codice:
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.io.IOException;
public class MioCanvas extends GameCanvas implements Runnable
{
private Image img;
private Sprite sprite;
private boolean inGioco;
private int posX, posY;
public MioCanvas()
{
super(true);
try{
img = Image.createImage("/pallaTraspAni.png");
sprite = new Sprite(img, 32, 32);
}catch (IOException ex)
{
System.err.println("Errore: " + ex);
}
posX = 10;
posY = 10;
}
}
private void input()
{
int tasto = getKeyStates();
if((tasto & LEFT_PRESSED) != 0){
sprite.setFrame(2);
posX -= 5;
}
if((tasto & RIGHT_PRESSED) != 0){
sprite.setFrame(1);
posX += 5;
}
if((tasto & UP_PRESSED) != 0){
sprite.setFrame(3);
posY -= 5;
}
if((tasto & DOWN_PRESSED) != 0){
sprite.setFrame(0);
posY += 5;
}
}
public void disegna()
{
Graphics g = getGraphics();
g.setColor(187, 213, 251);
g.fillRect(0, 0, getWidth(), getHeight());
sprite.setPosition(posX, posY);
sprite.paint(g);
flushGraphics();
}
public void start()
{
inGioco = true;
Thread t = new Thread(this);
t.start();
}
public void run()
{
while(inGioco == true)
{
input();
disegna();
try{Thread.sleep(50);}
catch(InterruptedException ie) {}
}
}
public void stop()
{
inGioco = false;
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MioMidlet extends MIDlet
{
private Display d;
private MioCanvas schermata;
public MioMidlet()
{
d = Display.getDisplay(this);
schermata = new MioCanvas();
schermata.start();
}
protected void startApp()
{
d.setCurrent(schermata);
}
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) {}
}