В этой сессии мы продемонстрируем как начать разработку двухмерных игр для телефонов Nokia Series 40 семейства Asha. Даже если вы никогда не занимались разработкой игр, но знакомы с Java, NetBeans и Nokia SDK 1.1 for Java, вы можете начать создавать простые двухмерные игры с помощью замечательного плагина Game Builder и мы покажем как это сделать. Использование визуального инструментария, изучение генерируемого кода, который можно модифицировать, так-же является хорошим методом обучения, помогающий оттачиванию вашего будущего мастерства в разработке игр. В дополнение мы сделаем обзор классов Mobile Java которые обычно используются в игровых проектах, расскажем о менеджменте ресурсов и ассоциированных ограничениях и возможностях телефонов Nokia Series 40 семейства Asha.
Introduction to 2D Game Development on Nokia Series 40 Asha (Russian)
1. Series 40 Developer Training
Введение в разработку двухмерных
игр для телефонов Nokia Asha
Michael Samarin, Ph.D
Director,
Developer Training and Evangelism
Futurice Oy
+358 40 518 18 09
michael.samarin@futurice.com
@MichaelSamarin
2. Темы на сегодня
» Понимание рынка игр для Series 40
» Где получить информацию
» Двухмерные Game APIs в Mobile Java
» Демонстрация концепций построения
двухмерных игр в Mobile Java
» NetBeans 7.1 и Game Builder Plugin
» Game Builder примеры
» Series 40 телефоны
3. Series 40
» 675 Миллионов устройств
» 3.9 Миллионов скачиваний ежедневно
» Ценовые категории 35 – 140 Евро
» Игровые студии с которыми придется
соревноваться: EA, Gameloft, Rovio, India
Games
4. Nokia Developer Документация
» http://www.developer.nokia.com/Resources/Library/Java/#!dev
elopers-guides/ui-and-graphics/game-api.html
6/4/201
4
2
6. › Game API Package (MIDP)
› javax.microedition.lcdui.game
› GameCanvas
› Layer
› LayerManager
› Sprite
› TiledLayer
7. › GameCanvas
› Двойное буферизированние
› Удобен для минимизации
кода игрового цикла
› Методы для опроса статуса
клавиш
8. › GameCanvas
public class MyCanvas extends GameCanvas implements Runnable {
public void run() {
Graphics g = getGraphics();
while(true) {
// обновление статуса игры
int k = getKeyStates();
// реакция на нажатие клавиш
flushGraphics();
}
}
}