Показать сообщение отдельно
Старый 10.07.2011, 08:21   #8
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: алгоритм поиска пути ии

foldel, в j2me нельзя постоянно рисовать в один и тот же graphics, т.е. получить его при старте игры и потом использовать не прокатит. Все отрисовки делаются в переопределённом методе public void paint(Graphics g).
Пример:
public void paint(Graphics g) {
  Draw(g); //твоя функция рисования
}
Второе: нельзя (ОЧЕНЬ нежелательно) вызывать отрисовку в системных функциях опроса кнопок, таких как keyPressed, keyReleased, keyRepeated, pointerDragged, pointerPressed, pointerReleased.

Типичной конструкцией для игры является наличие главного цикла, в котором есть опрос пользовательского ввода, логика игры и отрисовка.
Для j2me нужно добавить в класс канваса implements Runnable, и главный игровой цикл прописать в обязательной для переопределения функции run()
Например:
boolean bRunning = true;
while(bRunning == true) {
  checkUserInput();
  doGameLogic();
  flip();
}
Для функции flip такой код:
public void flip() {
  repaint(); //вызывает функцию paint(), в которой мы всё рисуем
  serviceRepaint(); //приказ рисовать пока не нарисует (внимательно читай описание!)
}
(Offline)
 
Ответить с цитированием