22 July 2014

Портируем Flappy Bird на Gear 2

Development for Tizen
Сегодня мы научимся портировать HTML+JS приложения на часы Samsung Gear 2.

Возьмем игру из репозитория и клонируем ее к себе на локаль. Если запустить ее в браузере, то увидим саму игру:

Flappy Bird

Tizen Wearable, на которой работают часы, поддерживает приложения только на html + js, поэтому с помощью нехитрых манипуляций, заставим завестись игру на часиках.
Для начала, скачайте Tizen SDK for Wearable для вашей ОС. После установки, запустите Tizen IDE for Wearable и создайте новый проект (File -> New -> Tizen Wearable Web project). На вкладке Template выберите Basic, ниже введите название проекта и нажмите Finish.

Из нового проекта можно удалить файл index.html и директории: css, js. А потом, скопировать в проект файлы, которые были в репозитории с игрой.

В итоге, должно получится вот так:

Tizen IDE

Чтобы запустить игру, нажмите зеленую кнопку Play в Tizen IDE и вы увидете на своих часиках полностью рабочую игру.

Flappy Bird на Gear 2

Чтобы протестировать игру без часов, нужно в Connection Explorer запустить Emulator Manager и создать в нем виртуальную машину с Tizen Weareable. А еще можно зайти в RemoteTestLab. Там можно протестировать приложение на реальном устройстве, физически расположенном у Samsung.

При попытке сыграть в игру на часах, в глаза сразу же будет бросаться тормознутость игры и отстающие или вовсе не проигрывающиеся звуки. Для данной платформы — это нормально. Она просто не успевает обрабатывать все события настолько быстро, как это делает браузер на ПК, поэтому возникают тормоза. Чтобы сгладить впечатление от создаваемых игр, лучше всего не использовать в них звуки для действий персонажа, а, например, заменить их вибрацией.

Вибрацию использовать очень просто. Нужно всего лишь вызвать код, вида:

navigator.vibrate(2000);

Этот код заставит часы вибрировать 2 секунды.

navigator.vibrate([1000, 1000, 2000, 2000, 1000]);

Такой код заставит часы вибрировать по шаблону: 1 секунда вибрации, 1 секунда бездействия, 2 секунды вибрации, 2 секунды ожидания.

Чтобы игра нормально вписалась в концепцию Tizen Wearable, к ней нужно добавить возможность закрывать приложение по свайпу сверху вниз. Чтобы это сделать, откройте файл js/main.js и добавьте в конец файла, следующие строки:

window.addEventListener("tizenhwkey", function(ev) 
		{
		   if (ev.keyName === "back") 
		   {
		      tizen.application.getCurrentApplication().exit(); 
		   }
		}
);


Теперь вы можете не только играть, но и закрыть приложение, когда вам нужно.

Еще один интересный момент, при создании приложений под Gear 2 + любое устройство Samsung в том, что можно создать новый вид управления для Android игр. Когда вы в часах играете в игры, то можете отслеживать движения руки, с помощью акселерометра.
Так, например, можно сделать игры на подобии гольфа, бокса, бильярда, боулинга, где нужны физические усилия, чтобы получать лучшие баллы за игру.

На данный момент в Samsung Store мне удалось запустить игру, в которой прыжок персонажа — это реальный прыжок пользователя, а бег персонажа — это реальный бег пользователя на месте.

Если вам интересна информация о реализации приложений под Tizen Wearable, а так же информация о скачиваниях и покупках в Samsung Store, можете попросить меня написать новую статью.

Примеры по использованию практически любых функций Tizen можно посмотреть из Tizen IDE, зайдя в Help -> Help Contents.
Tags:samsung gear 2html5flappy birdtizen
Hubs: Development for Tizen
+2
3.6k 11
Comments 2