Столкновение объектов
// инициализируем менеджер уровней lm = new LayerManager(); // добавляем мяч к уровню lm.append(bol); // добавляем бомбы к уровню lm.append(bombal); lm.append(bomba2); lm.append(ЬотЬаЗ); lm.append(bomba4); } // обрабатываем столкновение public void stolknovenie() { // столкновение с первой бомбой if (bol .collidesWith (bombal, true)) { bol.nextFrame(); bombal.nextFrame(); } // столкновение со второй бомбой if(bol.collidesWith(bomba2, true)) { bol.prevFrame(); bomba2.prevFrame(); } // столкновение с третьей бомбой if (bol.collidesWith(bоmbа3, true)) { bol.setFrame (2); vbomba3.setFrame(0); } // столкновение с четвертой бомбой if(bol.collidesWith(bomba4, true)) { int[] i = {2.3}; bol.setFrame(0); bomba4 .setFrameSequence (i); } } public void start() { z = true; // создаем и запускаем поток Thread t = new Thread(this); t.start(); } // останавливаем поток public void stop() { z = false; } public void run() { // получаем графический контекст Graphics g = getGraphics(); while (z) { // столкновение с препятствием stolknovenie (); // обрабатываем события с клавиш телефона inputKey(); // рисуем графические элементы init(g); // останавливаем цикл на 20 миллисекунд try { Thread.sleep(20); } catch (Java.lang.InterruptedException zxz) {}; } } private void inputKey() { //-определяем нажатую клавишу int keyStates = getKeyStates(); // код обработки для левой нажатой клавиши if ((keyStates & LEFT_PRESSED)!= 0) bol.moveLeft(); // код обработки для правой нажатой клавиши if ((keyStates & RIGHT_PRESSED)!= 0) bol.moveRight(); // код обработки для клавиши вверх if ((keyStates & UP_PRESSED)!= 0) bol.moveUp(); // код обработки для клавиши вниз if ({keyStates & DOWN_PRESSED)!=-0) bol.moveDown(); } private void init(Graphics g) { // желтый цвет фона g.setColor(0xffff00); // перерисовываем экран g.fillRect(0, 0, getWidth(), getHeight()); // рисем уровень в точке 0.0 lm.paint(g, 0, 0); // двойная буферизация flushGraphics(); } } /** файл MySprite.Java класс MySprite */ import javax.microedition.Icdui.*; import javax.microedition.Icdui.game.*; public class MySprite extends Sprite // констоуктор oublic MySprite(Image image, int fw, int fh) // обращаемся к конструктору суперкласса super(image, fw, fh); } // <strong>метод</strong> для левой нажатой клавиши public void moveLeft() //передвигаем спрайт move(-1.0); // <strong>метод</strong> для правой нажатой клавиши publiс void moveRight() //передвигаем спрайт move(1.0); } // метод для клавиши вверх public void rnoveUp () // передвигаем спрайт // ме<strong>т</strong>од для клавиши вниз public void moveDown() //передвигаем спрайт move(0.1); } }