Модераторы: javastic, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите начинающему по J2ME 
:(
    Опции темы
Гость_Quest
Дата 8.12.2005, 17:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Надо же какая странная эта java, а программировать всё равно хочеться.
Придётся пока с интерфейсами работать.
Но может кто-нибудь всё таки скажет: "Нельзя без заведения новых классов", или "Можно, вот как это делается...", а пока хоть вешайся...
  Вверх
Гость_Quest
Дата 8.12.2005, 18:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всё пытаюсь зоздать класс для кнопок игры, но никак не удаётся - получается работоспособно, но гиганско и на мой взгляд так не делается.
Кто знает как организовать кнопку?
  Вверх
LSD
Дата 9.12.2005, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 1
Всего: 538



Цитата
Но может кто-нибудь всё таки скажет: "Нельзя без заведения новых классов", или "Можно, вот как это делается...", а пока хоть вешайся...

Можно, но есть куча но! Код работает медленней (вызов методов через рефлексию дольше в 10-50 раз), весьма ненадежно (на этапе компиляции никаких проверок не будет, только в runtime), и не уверен что это будет работать на J2ME.
Если инетерес еще не пропал, то могу привести код.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Гость_Quest
Дата 11.12.2005, 13:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











С кнопками я уже сам разобрался - решил сделать как и стандартные Command.
То есть в кнопку кладём номер команды, а функцию они все одну вызывают.
  Вверх
Гость_Quest
Дата 17.12.2005, 10:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Уменя теперь 3 вопроса:

1) Можно ли создавать записи "coord" с вложенными в неё
переменными X и Y (coord.x, coord.t),
не создавая класса:
class coordinates {
int x, y; }

2) GameCanvas есть repaint() и flushGraphics() какая между ними
разница?

3) Я вывожу часть рисунка, сделав "setClip" и бросая на экран весь
рисунок - рисуется только там где можно, т.е. так как мне надо.
Так ведь правильновыводить часть рисунка? Я замедления работы не замечаю.
  Вверх
batigoal
Дата 17.12.2005, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Цитата

1) Можно ли создавать записи "coord" с вложенными в неё
переменными X и Y (coord.x, coord.t),
не создавая класса:
class coordinates {
int x, y; }

Думаю, что нет. А зачем?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
nagliyvred
Дата 28.1.2006, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 2.10.2005

Репутация: 3
Всего: 3



Цитата

1) Можно ли создавать записи "coord" с вложенными в неё
переменными X и Y (coord.x, coord.t),
не создавая класса:
class coordinates {
int x, y; }

Нет
Цитата

2) GameCanvas есть repaint() и flushGraphics() какая между ними
разница?

В MIDP 2.0 поддерживается двойная буфферизация. Смысл в том что при вызове repaint() jvm вызывает метод paint() передавая ему в качестве параметра текущий графический контекст ( объект класса Graphics), и в нем происходит рисование - последовательный вызов методов drawXXX() - обращаемся к видеопамяти многократно. А можно создать дополнительный внеэкранный буфер - сначала нарисовать туда а потом разом вывести на экран. Так вот в MIDP 2.0 это уже реализовано (хотя несложно реализовать и самому). Для этого нужно получить ссылку на графический контекст методом getGraphics(), рисовать в него а затем разом выводить содержимое буфера на экран методом flushGraphics(); В принципе в MIDP 2.0 можно использовать и repaint() но рекомендуется все-таки использовать дв. буфферизацию.
Вот приблизительное отличие в коде:
Код

//MIDP 1.0 
public void paint(Graphics g)
{
    g.drawString("blablabla", x, y, Graphics.TOP|Graphics.LEFT);
}

private void mainLoop()
{
    //some code here
    repaint();
}

//MIDP 2.0 
//ссылка на внеэкранный буфер - не меняется 
Graphics buffer;

//....при инициализации установим буфер
private void initialization()
{
    buffer = getGraphics();
    // somthing else
}

public void draw() // рисование вынесено в отдельный метод хотя здесь это не обязательно
{
    buffer.drawString("blablabla",x, y, Graphics.TOP|Graphics.LEFT);
    buffer.drawString("blablabla", x, y, Graphics.TOP|Graphics.LEFT);
    
    flushGraphics(); //после того как нарисовали в буфер все что хотели - выводим на экран
}

private void mainLoop()
{
    //.......
    draw();
    //..........
}

   

Цитата

3) Я вывожу часть рисунка, сделав "setClip" и бросая на экран весь
рисунок - рисуется только там где можно, т.е. так как мне надо.
Так ведь правильновыводить часть рисунка? Я замедления работы не замечаю.

Правильно. Но при большом количестве рисования метод setClip() сильно тормозит на некоторых девайсах. Но зачастую от него никуда не денешься.
PM   Вверх
NewDev
Дата 15.5.2006, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 15.5.2006

Репутация: нет
Всего: нет



Не подскажет ли кто совсем начинающему..

Как создать файл и записать туда что-нибудь?
У нас терминал Siemens TC65.
Или как вообще лучше отладочные выводы делать..
 
PM MAIL   Вверх
javastic
Дата 16.5.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



NewDev, поищи поиском на этом форуме и можно обнаружить много чего интересного.
Многие уже устали отвечать на одно и тоже по 50 раз.  smile  


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
ThisIAmUnknown
Дата 16.7.2006, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 16.7.2006

Репутация: нет
Всего: нет



Скажите, пожалуйста, а JSDK 2 будет работать с J2SE. А то у меня нет возможности закачать новую его версию. 
PM MAIL   Вверх
javastic
Дата 31.7.2006, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



ThisIAmUnknown, что-то ничего не понятно из письма. Конкретнее можно? 


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.