![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: нет Всего: 6 |
При реализации Canvas, GameCanvas и всё что связанно с Canvas это должно происходить в связке с MIDlet и реализацией трёх его состояний StartApp, destroyApp и pauseApp? или полноценная реализация Canvas может обойтись без MIDleta? просто в разных источниках пишут по разному......
-------------------- Thank you opensource. |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
MIDlet тут абсолютно не причём.
У тебя может быть отдельный класс унаследованный от канвас, который где-то можешь определить в рамках твоего рабочего мидлета, и отрисовать эту канву на дисплее (Display), вот Display ты можешь получить лишь из мидлета, тут уж никуда не денешься. -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| nagliyvred |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 2.10.2005 Репутация: 3 Всего: 3 |
Без унаследования MIDlet не обойтись, т.к. это точка входа/выхода из приложения. Но тут он собственно не причем, канва о нем знать совершенно не обязана, ее вообще может не быть. Как лучше связать Сanvas с мидлетом решает программист.
|
|||
|
||||
| Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: нет Всего: 6 |
Могу ли я тогда реализовать канвас внутри startApp() {здесь канвас}? NetBeans ругается, что канвас должен работать с мидлетом: Application descriptor does not declare any MIDlet. Direct execution is not allowed.
Это сообщение отредактировал(а) Zamuta - 20.2.2006, 19:32 -------------------- Thank you opensource. |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
Canvas - это абстрактный класс, поэтому просто так вот ты с ним работать не сможешь, тебе обязательно нужно определять свой собственный класс, унаследованный от Canvas, в котором будет необходимо переопределить метод paint(Graphics g), так как он является абстрактным в Canvas.
Посмотри в исходниках примеров идущих вместе в WTK как там организуют канву, и используют её в мидлете. Напримет мидлет ManyBalls из Demos
если честно, то не совсем понял что ты этим хочешь сделать? не мог бы кусок кода показать? или ты пытаешься класс определить при вызове startApp()? (что то вроде такого startApp() { class myCanvas extentd Canvas{ public void paint(Graphics g) {}} то это бред полнейший. если просто пытаешься сделать new Canvas() то так ды делать не сможешь потому как конструктор для Canvas имеет спецификатор protected. Давай код, посмотрим. -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: нет Всего: 6 |
Такое нормально? (я учусь)
-------------------- Thank you opensource. |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
ды вполне нормально, желтым цветом заливаем экран (почему бы и нет).
Но просто на будущее, лучше организовывай каждый класс в своём файлике (принцип Разделяй и влавствуй) очень сильно поможет при разростании проекта!!!! Добавлено @ 10:12 что на симуляторе, что на мобильнике - получил одинаковую картинку Твой лучший друг и помошник (пока начинаешь, учишься) это симулятор - если там идёт, то пол дела сделано. Хотя в WTK симуляторе есть несколько пренеприятных бажин, с которыми пришлось сталкнуться. На симуляторе работает, так как я предполагал, а когда портировал в телефон получалось чёрте что и с боку бантик. Пришлось долго повозиться с логами на телефоне, и потом нашлась ошика в моём коде. Но на работу приложения на симуляторе это никак не отражалось. (но по первости, тебе главное чтобы всё пучком было в симулторе, далее это уже другой уровень - проблемы портации) Удачи...... -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| nagliyvred |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 2.10.2005 Репутация: 3 Всего: 3 |
Это значит что в настройках проекта не указан исполнимый класс. Нужно зайти в project properties -> MIDlets и прописать там полный путь к классу который extends MIDlet. |
|||
|
||||
| Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: нет Всего: 6 |
Dancer,
Если я буду хранить отдельные классы в отдельных файлах в одном package, между ними будет взаимосвязь? Или это делается как-то по-другому? -------------------- Thank you opensource. |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
если все классы в одном пакете, то конечно будет у них взаимосвязь, если в разных, то перед использованием необходимо будет этот пакет импортировать (import package1.package2.* ну в этом духе)
В любой книжке по Java я думаю ты найдёшь информацию о том как работать с пакетами. -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
| Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: нет Всего: 6 |
Помогите разобраться...........
Во втором файле создан MyGameCanvas, с ним всё нормально........... Это сообщение отредактировал(а) Zamuta - 25.2.2006, 01:36 -------------------- Thank you opensource. |
|||
|
||||
| Dancer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
а привести его не хочешь? можешь не приводить описание метода paint() и ещё каких нибудь больших не сильно значимых методов. Так как используешь start() то надо полагать, у тебя MyGameCanvas имплементирует интерфейс Runnable (или это просто методы твои такие start, stop) приведи код, будет более понятно. -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! |
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |