Обработка события в мидлете(нажатая клавиша)

  • Автор темы greatross
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

greatross

#1
Доброго времени суток. Господа, может быть кто-то знает как привязать к нажатой кнопке "FIRE" открытие нового окна(?). Суть: на дисплее курсором подсвечивается какая-то опция(например "New Game") и нажатие FIRE инициирует новый Canvas из другого файла.
Делаю вот так(переработанный пример из самоучителя):





import javax.microedition.lcdui.*;
public class Draw extends Canvas implements Runnable
{ public Command exitMidlet = new Command("Выход", Command.EXIT, 0);

// устанавливаем квадрат в центр экрана
int positionX = getWidth()/2;
// устанавливаем квадрат в центр экрана
int positionY = getHeight()/2;

int zentrx = getWidth()/2;
int zentry = getHeight()/2;

int kurx = getWidth()/2;
int kury = getHeight()/2;

int x = getWidth();
int y = getHeight();



// конструктор
public Draw()
{
super();
this.setFullScreenMode(true);
}

public void start()
{
// создаем и запускаем поток
Thread t = new Thread(this);
t.start();
}










//public class dest{


//dest(){}






//}






// метод run интерфейса Runnable
public void run()
{
// бесконечный цикл
while (true)
{
// обновляем экран
repaint();
// останавливаем цикл на 20 милесекунд
try { Thread.sleep(20); }
catch (java.lang.InterruptedException zxz) {}
}
}

public void paint(Graphics g)
{
// вычисляем область для перерисовки экрана
int x = g.getClipWidth();
int y = g.getClipHeight();

// назначаем перерисовку всему экрану
g.fillRect(0,0,x,y);
try{Image splash = Image.createImage("/splash.png");


Image newgame = Image.createImage("/newgame.png");
Image help = Image.createImage("/help.png");
Image about = Image.createImage("/about.png");
Image mouse = Image.createImage("/mouse.png");




g.drawImage(splash,zentrx,zentry,Graphics.HCENTER|Graphics.VCENTER);
g.drawImage(newgame,zentrx,zentry,Graphics.HCENTER|Graphics.VCENTER);
g.drawImage(help,zentrx,zentry+22,Graphics.HCENTER|Graphics.VCENTER);
g.drawImage(about,zentrx,zentry+44,Graphics.HCENTER|Graphics.VCENTER);
g.drawImage(mouse,kurx,kury,Graphics.HCENTER|Graphics.VCENTER);

}
catch(java.io.IOException ex){ };

}
protected void keyPressed(int keyCode)
{
// скорость передвижения
int speed = 3;
// получаем игровые события
int act = getGameAction(keyCode);
// обработка событий
switch(act)
{
// движение влево
case Canvas.LEFT:
positionX -= speed;
break;
// движение вправо
case Canvas.RIGHT:
positionX += speed;
break;

case Canvas.FIRE:
А ТУТ ТО ЧТО?









// движение вверх
case Canvas.UP:
kury =kury-22;

break;
// движение вниз
case Canvas.DOWN:
kury =kury+22;
default:
break;
}
if(kury>zentry+44){kury=zentry;}

if(kury<zentry){kury=zentry+44;}


}
}
 
Статус
Закрыто для дальнейших ответов.