motofan logo
3 страниц V  1 2 3 >        
> 

Платформер

Грустный
сообщение 23.10.2006, 21:51 Закрепленное сообщение!


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Разработку предлагаю разделить на:
Графика - перегнать в png, склеить спрайты.
Совместимость с MIDP 1.0 - Sprite и TiledLayer.
Физика – вектора, кинематика.
Поведенческие классы для «персонажей» - отрисовка, анимация, перемещение, столкновение.
Движок – игровой цикл, реакция на клавиши.
Меню.
Тестирование.

Порядок работы над проектом:
Все выносят идеи по каждому разделу.
Если есть готовые наработки – предлагать.
Каждым разделом занимается один-два человека – потом выкладывают результаты на общее обсуждение.
Если есть вопросы – спрашивать у всех, и все помогают .
В каждом разделе – сделать базовые наброски с минимально необходимым функционалом с последующим наращиванием.
По запросу разработчиков из других тем добавляют функционал.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 17.10.2006, 3:35


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Следующий проект будет:
Платформенная игра J-Rio.
Пример реализации: Java cooperation

Естьжелающие делать вместе?

Сообщение отредактировал Грустный - 22.10.2006, 22:28
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Stranger
сообщение 17.10.2006, 6:14


Опытный
***

Группа: Почётные мотофаны
Сообщений: 135
Регистрация: 4.7.2005
Из: Донецк,Украина
Пользователь №: 45 406
Модель телефона: E60, E398
Прошивка: 49r

Рейтинг: 116



Грустный, можно будет попробовать :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 17.10.2006, 20:33


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Я желающий , хотелось-бы попробовать поработать в комманде , но и бесполезным прицепом быть тоже не хотелось-бы , ибо опыт пока маловат , но если возьмёте , постараюсь быть максимально полезен :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 18.10.2006, 4:47


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Stranger, dmtrlbdv
На досуге подумал:
т.к. в JME нет масштабирования картинок (по крайней мере я не знаю :) ), то вижу несколько способов сделать игру под разные разрешения экрана:
1) делать под каждое разрешение свою версию
2) реализовать масштабирование
3) сделать картинки разных размеров и при запуске подгружать нужную
4) урезать игровое поле
5) совместить 3 и 4 варианты
6) генерить картинки в программе (как я это делал в тетрисе)
Есть ли другие варианты?

Ещё один вопрос: надо ли поддерживать совместимость с MIDP 1.0?

Надо определиться, как лучше сделать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
FMC
сообщение 18.10.2006, 7:57


Photonic
****

Группа: Почётные мотофаны
Сообщений: 185
Регистрация: 13.8.2005
Пользователь №: 48 546
Модель телефона: se k610i

Рейтинг: 324



Грустный,
По поводу совместимости с разными разрешениями, самое простое и имхо правильное решение - отказаться от всей рисованной графики и рисовать все по средствам явы (см. в мою подпись, в совей игре я так и сделал)... ну просто по-моему не очень удобно рисовать картинки под разные разрешения, да и на весе это все скажется отрицательно. По поводу поддержки MIDP 1.0, думаю, стоит сделать... и тогда игра будет на самом деле мультиплатформенная :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Stranger
сообщение 18.10.2006, 8:31


Опытный
***

Группа: Почётные мотофаны
Сообщений: 135
Регистрация: 4.7.2005
Из: Донецк,Украина
Пользователь №: 45 406
Модель телефона: E60, E398
Прошивка: 49r

Рейтинг: 116



Грустный,
из всех предложенных тобой вариантов реально в мире работает только 1. Многие пытались/пытаются создать универсальную версию под все девайсы...ну не получается, и не получится... моё имхо
Мы сейчас работаем как раз с такой системой, которой даешь на вход графику под все телефоны(все разрешения), исходники(предельно напичканные параметрами) + список констанст, а на выходе(в идеале) получаешь готовое приложение под нужное устройство. На практике получается так, что мы портируем игру уже месяца 3-4, хотя если бы все делали сами, то справились бы за срок наверняка меньший раза в два...
По поводу мидп 1.0 устройств. Эти модели присутствуют в списке портингов. И еще будут там присутствовать. Зачастую, эти устройства требуют отдельных версий. Так, например, существуют такие "замечательные" телефоны, как Сонька T610, Nokia 6100, 7210... у которых маленький хип, ограничение на размер джара...Приходиться выкидывать лишнюю графику, звуки, менять код.
Но это все нужно делать, поскольку проект то коммерческий.
В нашем случае планируется ведь создание игры не в этих целях, насколько я понимаю?
Что касается масштабирования, то почитай тут Масштабирование в J2ME

P.S.
В качестве маленького отступления....
Обычно игры стараются делать так, что минимизировать затраты времени и усилий при портировании(потому ленивые :)). Поэтому разрабатывают движок игры так, чтобы он работал и в таком разрешении и в другом одинаково(в плане функциональности), но по-разному(возможно) - в плане видимости на экране...Вот так...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 18.10.2006, 14:49


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



По поводу рисования средствами JAVA - IMHO для платформеров критична эффектность картинки , чего не добиться , если не исользовать картинки , нарисованные заранее. Я за рисованные.
По поводу портов или универсальности - опять всё упирается в то , что это платформер. Например у нас для шахмат и шашек ( www.wapportal.ru ) используется 3 набора графики , которые выводятся в зависимости от размера экрана , НО графики не так много , поэтому это не критично (размер остаётся приемлимым). Если графику масштабировать , то реально хорошо она будет выглядеть на референсном телефоне , а в остальных случаях пользователи будут чувствовать себя ущербно. Можно выбрать один размер и начать делать под него , но с оглядкой на то , что в будущем размер будет меняться (т.е. так , как описал Stranger в P.S ). А потом уже править графику. Не обязательно делать под каждое разрешение - выбрать несколько самых распространённых (т.е. например 128x128 , .... , ...... , 240x320).
Высказал своё мнение , не претендующее на истину :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
FMC
сообщение 18.10.2006, 15:36


Photonic
****

Группа: Почётные мотофаны
Сообщений: 185
Регистрация: 13.8.2005
Пользователь №: 48 546
Модель телефона: se k610i

Рейтинг: 324



Просто для сравнения, до того, как я убрал всю рисованную графику из см. подпись, вес был неслабый... теперь же все это весит 13кб (а если учесть мой жутко кривой код, то все это могло бы весить втрое меньше) :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 19.10.2006, 1:32


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Тогда надо определиться с первоначальным разрешением.
На моём V360 максимум, что можно получить - 176х204.
(Если кто знает, как выжать 176х220 - буду благодарен. У знакомого на SE К700 в FullScreenMode - 176х220.)
Есть ещё V180 (128х116) - но на нём тестировать не удобно.
Предлагаю ширину 176 (с "равнением" на 128).

Работая над тетрисом, столкнулся с проблемой перевода приложения в фоновый режим:
- на "раскладушке" при закрытии "флипа" вызывается MIDlet.pauseApp() и приложение "уходит в фон"
- на К700 есть кнопка "возврат", которая в некоторых приложениях даёт такой же эффект, но по ней вызывается MIDlet.destroyApp(), а MIDlet.pauseApp() - только при входящем звонке

Т.к. на телефонах играют (по крайней мере я) - когда есть свободная минутка, то очень хотелось бы возможность перевести игру в паузу, чтобы потом начать с того же места. (Если просто остановить и написать "Пауза", то, по крайней мере на К700, быстро садится аккумулятор, да и неудобно - ни позвонить, ни записную книжку посмотреть).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 19.10.2006, 3:42


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Что может понадобиться из MIDP2.0, чего нет в MIDP1.0:
- из GameCanvas: flushGraphics(), getKeyStates() - если без второго можно обойтись :) , то без двойной буферизации нет
- Sprite
- TiledLayer

Если делать разные версии для MIDP2.0 и MIDP1.0, тогда эти классы придётся эмулировать для MIDP1.0.

Использовать Float нет смысла, так как это накладывает ещё большие ограничения на совместимость (Float только с CLDC 1.1) и производительность.

По поводу getKeyStates():
я хотел отказаться от этого в тетрисе - обрабатывая keyRepeated(), но в V180 keyRepeated() не работает :( .
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 19.10.2006, 7:08


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



можно обойтись без keyRepeated() . Заводим переменную keyState , в которой храним код нажатой клавиши. В главном цикле опрашиваем именно её , а значение меняем при вызове keyPressed(). Ну и при вызве keyReleased сбрасываем в 0.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Stranger
сообщение 19.10.2006, 7:17


Опытный
***

Группа: Почётные мотофаны
Сообщений: 135
Регистрация: 4.7.2005
Из: Донецк,Украина
Пользователь №: 45 406
Модель телефона: E60, E398
Прошивка: 49r

Рейтинг: 116



Цитата(Грустный @ Четверг, 19 Октября 2006, 6:42)
Что может понадобиться из MIDP2.0, чего нет в MIDP1.0:
- из GameCanvas: flushGraphics(), getKeyStates()  - если без второго можно обойтись :) , то без двойной буферизации нет
- Sprite
- TiledLayer

Если делать разные версии для MIDP2.0 и MIDP1.0, тогда эти классы придётся эмулировать для MIDP1.0.

Использовать Float нет смысла, так как это накладывает ещё большие ограничения на совместимость (Float только с CLDC 1.1) и производительность. 

По поводу getKeyStates():
я хотел отказаться от этого в тетрисе - обрабатывая keyRepeated(), но в V180 keyRepeated() не работает :( .
*


Двойную буфферизацию можно делать самому, getKeyStates() - действительно, без этого запросто можно обойтись.
Зачастую
- Sprite
- TiledLayer
делают собственными руками(естественно, в этом случае не нужно отдельно что-то переписывать под разные профили). И зачем тебе флоат?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ganja_
сообщение 20.10.2006, 2:48


Новичок
*

Группа: Пользователи
Сообщений: 13
Регистрация: 6.10.2006
Пользователь №: 101 942
Модель телефона: motorola v80
Прошивка: R37_G_0E.03.26R

Рейтинг: 0



Цитата
присоединяйся к новому проекту - Платформенная игра J-Rio


всегда рад помочь, но не понял что это :)
B)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 20.10.2006, 3:10


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Игра Nintendo "Super Mario" с приставок типа "денди" :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 20.10.2006, 5:53


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



По поводу графики вопрос - рисуем сами или "тырим" ? :)

По поводу IDE наверное всё-таки лучше всем одну использовать , например netbeans 5.0 (всё-таки бесплатная и самая доступная). К ней можно прикрутить вот такую штуку http://pmd.sourceforge.net/ ( впрочем её можно практически ко всему прикрутить ). Ищет потенциальные проблемы в коде.

С контролем версий думаю , что можно попробовать. Берём здесь http://www.wincvs.org/download.html . Читаем , например, здесь http://getos.chat.ru/wincvs_rus.htm .
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 20.10.2006, 6:01


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Цитата(dmtrlbdv @ Пятница, 20 Октября 2006, 16:53)
По поводу графики вопрос - рисуем сами или "тырим" ?  :)
я давал ссылочку - там и графика и звуки и исходники :)
Цитата
По поводу IDE наверное всё-таки лучше всем одну использовать , например netbeans 5.0
я тоже её пользую

Спасибо за ссылки - посмотрю.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Stranger
сообщение 20.10.2006, 6:25


Опытный
***

Группа: Почётные мотофаны
Сообщений: 135
Регистрация: 4.7.2005
Из: Донецк,Украина
Пользователь №: 45 406
Модель телефона: E60, E398
Прошивка: 49r

Рейтинг: 116



Цитата
Sprite и TiledLayer сделанные собственными руками не будут ли по скорости хуже готовых?

Почитай по этому поводу тут:
Самодельный TiledLayer
и тут:
Бэкграунд для аркады с помощью TiledLayer - оно того стоит?
и тут:
Создание и скролинг тайловой карты (?)
и еще:
Цитата
присоединяйся к новому проекту - Платформенная игра J-Rio

проверь ссылку
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ganja_
сообщение 20.10.2006, 17:26


Новичок
*

Группа: Пользователи
Сообщений: 13
Регистрация: 6.10.2006
Пользователь №: 101 942
Модель телефона: motorola v80
Прошивка: R37_G_0E.03.26R

Рейтинг: 0



Цитата(Грустный @ Пятница, 20 Октября 2006, 6:10)
Игра Nintendo "Super Mario" с приставок типа "денди"  :)
*


ааа, дайте сцылку :) lol.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 21.10.2006, 8:11


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Искать здесь
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 21.10.2006, 10:14


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Вопрос такой - в оригинале ( J-Rio ) размер апплета на экране вроде как 300 на 300 , т.е больше , чем 176 на 204. Если берём графику готовую , то несколько изменится визуальное восприятие игры ( т.е. всё будет казаться более крупным ). Проблем особых в этом не вижу , но на всякий случай указываю на этот факт. Просто собирался конвертить в png и решил на всякий случай спросить мнение всех - оставляем как есть ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ganja_
сообщение 22.10.2006, 23:48


Новичок
*

Группа: Пользователи
Сообщений: 13
Регистрация: 6.10.2006
Пользователь №: 101 942
Модель телефона: motorola v80
Прошивка: R37_G_0E.03.26R

Рейтинг: 0



Цитата(dmtrlbdv @ Суббота, 21 Октября 2006, 13:14)
Вопрос такой - в оригинале ( J-Rio  ) размер апплета на экране вроде как 300 на 300 , т.е больше , чем 176 на 204. Если берём графику готовую , то несколько изменится визуальное восприятие игры ( т.е. всё будет казаться более крупным ). Проблем особых в этом не вижу , но на всякий случай указываю на этот факт. Просто собирался конвертить в png и решил на всякий случай спросить мнение всех - оставляем как есть ?
*



думаю надо всё-таки 176*204
а может вделаем игруху повёрнутой на 90 градусов :?)
типа прикольна будет =] B)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 23.10.2006, 1:46


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



dmtrlbdv
Закачал эмулятор с developer.samsungmobile.com, но не понял как его к netBeans прикрутить :(

Stranger
Цитата
Почитай по этому поводу тут:
Самодельный TiledLayer
и тут:
Бэкграунд для аркады с помощью TiledLayer - оно того стоит?
и тут:
Создание и скролинг тайловой карты (?)

Из всего там написанного, сделал вывод, что нечего придумывать велосипед - всё равно самодельный TiledLayer на MIDP 2.0 будет медленнее "родного".

dmtrlbdv
Попробуй на разных разрешениях, если уменьшеный будет лучше выглядеть - уменьшай.

Я займусь "физикой". Что получиться - выложу :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 23.10.2006, 6:13


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Наверно, пока не стоит разбираться с CVS - свободного времени у меня не очень :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Stranger
сообщение 23.10.2006, 6:34


Опытный
***

Группа: Почётные мотофаны
Сообщений: 135
Регистрация: 4.7.2005
Из: Донецк,Украина
Пользователь №: 45 406
Модель телефона: E60, E398
Прошивка: 49r

Рейтинг: 116



Цитата
Из всего там написанного, сделал вывод, что нечего придумывать велосипед - всё равно самодельный TiledLayer на MIDP 2.0 будет медленнее "родного".

Я почему-то сделал обратный вывод :( Я видел исходники более 10 игровых проектов. Ни в одном из них не использовалось "родное". Почему-то.... ;)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 23.10.2006, 6:51


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Stranger
Цитата
Я почему-то сделал обратный вывод

В результате всех споров - сделали вывод, что вызов native методов в любом случае не медленнее.

В любом случае проще сначала сделать под MIDP 2, а потом сделать свой TiledLayer и сравнить.

dmtrlbdv & Ganja_
Для оценки качества попробуйте
Прикрепленный файл src.rar   ( 12.07 килобайт ) Кол-во скачиваний: 199
.
Спрайт берётся из /game/mario/mario.png (пока 1-й кадр, без анимации)
Сделал:
из математики:
- Vector2D - вектор
- sqrt - целочисл. кв.корень (из C.Tremblay - Mathematics for Game Developers)
из физики:
- подпрыгивает (по кнопке вверх)
Прикрепленный файл src.rar   ( 12.07 килобайт ) Кол-во скачиваний: 199
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 23.10.2006, 14:19


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Грустный, вроде бы TiledLayer - это как раз не native, а реализовано на джаве. Я лично в Беспределе делал собственный обработчик тайлов. Ещё, как я понял, его не желательно использовать, потому что он работает по-разному на разных девайсах. К тому же, если тайлов много, то можно сделать оптимизацию по обрезке ненужного и кешированию, что обычный TiledLayer не даст
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Stranger
сообщение 23.10.2006, 14:36


Опытный
***

Группа: Почётные мотофаны
Сообщений: 135
Регистрация: 4.7.2005
Из: Донецк,Украина
Пользователь №: 45 406
Модель телефона: E60, E398
Прошивка: 49r

Рейтинг: 116



[OFF]Andy51, сразу видно - опытный человек :)[/OFF]
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 23.10.2006, 21:52


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Код
this.setFullScreenMode(true);
       common.ZERO_H = this.getWidth()/2;
       common.ZERO_V = this.getHeight() - 40;


На нокиа 60 серии отработает скорее всего неправильно. Размер определится для неполного экрана.
Решается проблема примерно так ( может есть другие способы - будет интересно узнать )
Код
// назначаем canvas на Display
       Display.getDisplay(this).setCurrent(canvas);
       
       // устанавливаем полный экран
       canvas.setFullScreenMode(true);

Ну и для того , чтобы точно сработало в методе start() sleep(100) выставить.

код посмотрел - интересно, непривычно в проекте для мобильного , но всё равно интересно. Одно НО - хотелось бы хоть иногда видеть комменты ;)

P.S. Так как всё равно фичи различных телефонов не используются , то ничего прикручивать к нетбинсу не надо ( от реальных телефонов всё равно отличаются ).

По поводу картинок - вот картинки размером 176x220 и 128x128 - персонажи одинаковые
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 23.10.2006, 22:09


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Цитата(dmtrlbdv @ Вторник, 24 Октября 2006, 8:52)
Код
this.setFullScreenMode(true);
       common.ZERO_H = this.getWidth()/2;
       common.ZERO_V = this.getHeight() - 40;


На нокиа 60 серии отработает скорее всего неправильно. Размер определится для неполного экрана.
Решается проблема примерно так ( может есть другие способы - будет интересно узнать )
Код
// назначаем canvas на Display
       Display.getDisplay(this).setCurrent(canvas);
       
       // устанавливаем полный экран
       canvas.setFullScreenMode(true);

Ну и для того , чтобы точно сработало в методе start()  sleep(100) выставить.

На эмуляторе 40-й серии - нормально.
На эмуле 60-й - sleep(100) выставить пришлось после setFullScreenMode.
В мотороле аналогичная - поэтому setFullScreenMode() вызываю в методе run, а не раньше.

Комментов нет - так как это вообще "сырьё", только чтобы картинку посмотреть "в натуральном размере" :) .
(уже есть)

PS: Переходим в новую тему Платформер

Сообщение отредактировал Грустный - 24.10.2006, 2:18
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ganja_
сообщение 23.10.2006, 22:44


Новичок
*

Группа: Пользователи
Сообщений: 13
Регистрация: 6.10.2006
Пользователь №: 101 942
Модель телефона: motorola v80
Прошивка: R37_G_0E.03.26R

Рейтинг: 0



подскажи литературу про графец (спрайты это 2d анимация? как её правильно создать примерчик бы..) unsure.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 23.10.2006, 23:17


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Цитата(Ganja_ @ Вторник, 24 Октября 2006, 9:44)
подскажи литературу про графец (спрайты это 2d анимация? как её правильно создать примерчик бы..)    unsure.gif
*



На англицком:
- дока из JDK.
- "Developing Scalable Series 40 Applications: A Guide for Java Developers. By Michael Juntao Yuan, Kevin Sharp"
- "Killer Game Programming in Java. By Andrew Davison"

На руски:
- "Программирование мобильных телефонов на Java 2 Micro Edition. С.Г.Горнаков"

В кратце: спрайт - анимированная картинка, строится из файла (в J2ME обычно png) с несколькими изображениями (рядом), которые чередуются при анимации. Прикрепленное изображение
Можно сделать отдельные картинки для каждой фазы анимации (движения), а потом для удобства склеить в один файл, а можно и не клеить а грузить по одному.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 24.10.2006, 0:18


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



dmtrlbdv
Код с комментариями.
Прикрепленный файл src.rar   ( 14.29 килобайт ) Кол-во скачиваний: 182

В Mario реализовал StateMachine - ходит влево/вправо, прыгает вверх/влево/вправо.
Прикрепленный файл dist.rar   ( 15.4 килобайт ) Кол-во скачиваний: 164


Цитата
P.S. Так как всё равно фичи различных телефонов не используются , то ничего прикручивать к нетбинсу не надо ( от реальных телефонов всё равно отличаются ).

Польза есть:
- размер экрана
- коды клавиш
- разная реализация

Эмуляторы Сименс и Нокиа работают не так какМоторола и Сони-Эриксон.
Самсунга это не касается, т.к. там действительно всё (или почты всё) берётся из WTK.
А каждый раз запускать эмулятор вручную - лень.
Прикрепленный файл src.rar   ( 14.29 килобайт ) Кол-во скачиваний: 182
Прикрепленный файл dist.rar   ( 15.4 килобайт ) Кол-во скачиваний: 164
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 24.10.2006, 8:18


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Собрал всех марио в одну папку и оптимизировал pngout
Прикрепленный файл MarioPNG.rar   ( 3.01 килобайт ) Кол-во скачиваний: 3
Прикрепленный файл MarioPNG.rar   ( 3.01 килобайт ) Кол-во скачиваний: 3
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 25.10.2006, 6:40


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



dmtrlbdv, Ganja_
если есть время - переделайте всю графику в PNG :(

Что сделано
два типа двигающихся объектов:
- с независимым ускорением - SimpleMovedEntity
- с зависимым ускорением - MovedEntity

на их основе реализовал три персонажа:
- прыгающая рыба Fish (MovedEntity)
- бегающий колобок Gooba (SimpleMovedEntity)
- главный персонаж игры Mario (MovedEntity) - пригает/ходит - управляется игроком
Прикрепленное изображение
Прикрепленный файл src.rar   ( 22.38 килобайт ) Кол-во скачиваний: 158
Прикрепленный файл dist.rar   ( 23.84 килобайт ) Кол-во скачиваний: 171


Stranger, Andy51
Цитата
видел исходники более 10 игровых проектов. Ни в одном из них не использовалось "родное".

Цитата
Я лично в Беспределе делал собственный обработчик тайлов.
Всё таки, это учебный проект, я учусь в основном по книжкам :).
В инете боле-менее внятных материалов по теме "самодельного" TiledLayer не нашёл. Если знаете где - подскажите.
Или поделитесь своими идеям.
Прикрепленный файл dist.rar   ( 23.84 килобайт ) Кол-во скачиваний: 171
Прикрепленный файл src.rar   ( 22.38 килобайт ) Кол-во скачиваний: 158
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 25.10.2006, 7:15


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Прикрепленный файл level1PNG.rar   ( 4.07 килобайт ) Кол-во скачиваний: 151
- это level1. Посмотри - склеенные таким образом устроят ? Готово было вчера , но сеть сглючила и выложить не смог
Прикрепленный файл level1PNG.rar   ( 4.07 килобайт ) Кол-во скачиваний: 151
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 25.10.2006, 7:21


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



dmtrlbdv
Спасибо, подойдёт.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 25.10.2006, 20:43


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Прикрепленный файл level2PNG.rar   ( 3.51 килобайт ) Кол-во скачиваний: 145
- level2 . Здесь только те спрайты , которые не дублируют спрайты 1 уровня + спрайт grounds.png исправленный( он в level1 тоже есть , но без одного фрагмента)
Прикрепленный файл level2PNG.rar   ( 3.51 килобайт ) Кол-во скачиваний: 145
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dmtrlbdv
сообщение 26.10.2006, 22:10


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 26.9.2006
Из: Питер
Пользователь №: 100 712
Модель телефона: nokia 3230

Рейтинг: 0



Прикрепленный файл endPNG.rar   ( 2.49 килобайт ) Кол-во скачиваний: 4
- это "концовка". Но 1 и 8 кадр анимации. Если посчитаешь , что нужно всё , то сделаю всё , но каждый кадр - это где-то килобайт. Можно , конечно извратиться и для каждого кадра перерисовывать только то , что поменялось , но это усложнит нашу задачу , а смысла очень уж большого вроде нет.

p.s. закачал файл и вспомнил , что в одну png их не склеил - жду решения по поводу остальных фаз анимации и уже тогда исправлю
Прикрепленный файл endPNG.rar   ( 2.49 килобайт ) Кол-во скачиваний: 4
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Грустный
сообщение 27.10.2006, 3:17


Dum vivimus vivamus
***

Группа: Пользователи
Сообщений: 102
Регистрация: 23.6.2006
Пользователь №: 88 814

Рейтинг: 29



Оптимизация скорости:
Заменил вызовы new Vector2D(x,y) на Vector2D.set(x,y)
SimpleMoved
Moved


Оптимизация размера:
Т.к. многие классы состояний используют только метод enter(),то
все классы состояний сделал потомками State или StateMove
StateMove вызывается move() от StateMachine)
все классы начинающиеся на State
Прикрепленный файл src.rar   ( 22.58 килобайт ) Кол-во скачиваний: 139
Прикрепленный файл src.rar   ( 22.58 килобайт ) Кол-во скачиваний: 139
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Платформер · Разработка Java-игр · Forum
 

3 страниц V  1 2 3 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 14.6.2025, 12:15

Форум живёт: