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

Тема в разделе "Java", создана пользователем greatross, 6 июн 2006.

Статус темы:
Закрыта.
  1. greatross

    greatross Гость

    Доброго времени суток. Господа, может быть кто-то знает как привязать к нажатой кнопке "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;}


    }
    }
     
Загрузка...
Похожие Темы - Обработка события мидлете(нажатая
  1. pbnoob
    Ответов:
    6
    Просмотров:
    2.877
  2. kolka
    Ответов:
    6
    Просмотров:
    253
  3. anna
    Ответов:
    9
    Просмотров:
    884
  4. FaRReLL
    Ответов:
    0
    Просмотров:
    868
  5. crow1986
    Ответов:
    8
    Просмотров:
    1.874
Статус темы:
Закрыта.

Поделиться этой страницей