| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Вывод GameCanvas на дисплей |
| Автор: Димончик 19.1.2011, 22:35 |
| Всем привет. Canvas понятно как выводить, а от GameCanvas - нет... Подскажите пожалуйста! Нигде не могу найти образец GameCanvas - а, нигде вообще, вот уже 5 чесов сижу и уже прям - немогу... В офыцыальной доке SUN - Примеров я тоже не нашол, да мне всего то пару строчек кода нужно где то гнлянуть, не надо там кучу переменных писать или ещо чего-нибудь вообщем... Подскажите, пожалуйста... Сам по себе Canvas - был бы отличны, еслибы не то, что обработка клавиш происходит после рисования или наоборот - перед, а мне нужно чтобы можно было опросить клавиши в любую милисекунду. я слишал ето возможно на GameCanvas???? package g; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.game.GameCanvas; import javax.microedition.midlet.*; public class c3d extends MIDlet { public Display dis;//ссылка на дисплей public c3d(){ dis=Display.getDisplay(this); } public void startApp() { gc canvasss=new gc(); dis.setCurrent(canvasss); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } class gc extends GameCanvas { public gc() { super(true); } public void peint (Graphics g){ g.setColor(234,23,106); g.drawString("gerger",0,0,g.LEFT|g.TOP); repaint(); } } } Подскажите пожалуйста, как правильно написать GameCanvas и как узнавать о нажатиях клавиш в любое время, а не тогда когда чтото нарисуется, как в Canvas. Пожалуйста пожалуйста, помогите, плиз, если вам, конечно, не жалко 1 минуты на написание... |
| Автор: math64 20.1.2011, 08:35 |
| Примеры есть в самом SDK, например example.pushpuzzle.PushPuzzleCanvas. |
| Автор: GenaNa 23.1.2011, 02:43 | ||||||||
| flushGraphics(); вместо paint(); Перед flushGraphics() нужно получить "графику"
Repaint вызивает метод paint() обычного canvas. Так что вызывать repaint в paint-e не надо. В GameCanvas для вывода нарисованого используют flushGraphics(); Хотя можно перекрыть и paint(), для чего его нужно описать отдельно
Кстати, у тебя там peint Я бы вообще вынес класс gc в отдельный файл gc.java:
Управляющий мидлет
|