четверг, 6 августа 2015 г.

  1. Введение

Статья для начинающих программистов, которые решили создать свою игру для Андроид. 


Прежде чем писать код, постарайтесь в одном предложении сказать, о чем ваша игра. Потом представьте себе игроков, которые будут загружать ваше приложение. Это дети, подростки, домохозяйки или геймеры, определитесь. Если вы решили зарабатывать на своей игре, то подумайте, что такого ценного будет в ней, за что люди в здравом уме добровольно будут готовы заплатить J.

Закончим статью реальной простенькой игрушкой, которую никто никогда не купит. 

Наша игра будет называться «Moon Base».
Сценарий:
На лунную базу падают астероиды. Базу нужно спасать специальным щитом, передвигая его пальцем по экрану. Если 5 астероидов упадут на базу, то игра будет проиграна, а если выдержите атаку из 30 астероидов, то вы победитель. Никаких переходов на новый уровень в нашей игре не будет. Всё это вы потом можете с легкостью сделать сами, внимательно почитав материал.

Код был написан мною в среде разработчика Android Studio. Как его скачать и установить, вы найдете во множестве статей в И-нете.  Рекомендую замечательный сайт разработчика А.Климова, который без ума от кошек, но главное – обновляет свои статьи и насколько я понял с Эклипса перешел на Андроид Студио. На его сайте вы найдете многие ответы и по программированию под андроид.

Стоит также упомянуть прекрасную статью Дарьи о создании игры Пинг Понг.

В процессе нашей работы, буду приводить ссылки на другие сайты, где вы можете более углубленно изучить конкретный вопрос. Библией для нас  по-прежнему остается 

Я буду считать, что у вас уже установлена на компьютере среда разработчика Android Studio, и вы создали свое первое приложение Hello World!



  • Создание первого окна (главное активити) с кнопкой перехода в игру (второе активити).

Создание оригинальной иконки

Прежде всего, надо создать иконку нашей игры. От вашей иконки в будущем будет зависеть очень много, вы же хотите, чтобы ваше приложение заметили среди сотен тысяч других? Советуют создавать такую иконку, чтобы она «цепляла» пользователя, побуждала его нажать на нее. В моей стране это просто, нужно сделать иконку в виде красной кнопки с надписью «Не нажимать!» (шучу)   
Так как у нас защита лунной базы, я, не мудрствуя лукаво, нашел изображение Луны в И-нете и взрыва и скомбинировал их в Photoshop.
Напоминаю, вам понадобиться сделать несколько иконок
Вот размеры в пикселях для каждой плотности экрана:
LDPI  36×36.
MDPI 48×48.
TVDPI 64×64.
HDPI 72×72.
XHDPI 96×96.
XXHDPI 144×144.
XXXHDPI 192×192.
Нужно не забыть сделать иконку 512х512, она вам понадобится при загрузке приложения на Google Play.
Если вам лень делать свои иконки (как я это понимаю J), вы можете их скачать по ссылке в конце статьи.
2.2 Ориентация экрана
Итак, иконки готовы, теперь нужно продумать, что у нас будет на первом окне, после того, как пользователь нажмет на иконку приложения. Нашел в И-нете картинку лунной базы и сразу стал вопрос, какая ориентация экрана будет у пользователя? Учитывая, что астероиды летят сверху, есть смысл ориентацию экрана сделать только вертикальной ( portrait). Это важное решение, так как намного упрощает нам жизнь. Ведь при смене ориентации экрана происходит создание нового интерфейса, что фактически приведет к увеличению времени разработки в 2 раза.
Чтобы сделать ориентацию экрана вертикальной в файле манифеста для данной активити вводится такая строка. Все файлы будут приведены в конце статьи.
android:screenOrientation="portrait"
 Возникает еще один вопрос, каких размеров картинку нужно загрузить в приложение? Раньше делали картинки на все случаи жизни (как с иконками), а теперь советую загрузить одну картинку, чуть больше среднего и программно размещать ее на весь экран. Так мы и поступим. Размеры нашей лунной базы будут 400х640.

Все готово, чтобы начинать проект.
  • Открываем новый проект



 Выберем название приложения MoonBase, домен компании и папку на компьютере, где будет храниться проект. Помним, что в проекте всё должно быть написано на латинице, в том числе и названия папок.
Нажимаем Next.
Теперь выбираем устройство, в нашем случае Phone and Tablet.
Затем выбираем API (интерфейс программирования приложений, интерфейс прикладного программирования) (англ. application programming interface, API [эй-пи-ай]) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах.
Google Play нам подсказывает, что с API 10: Android2.3.3 наше приложение в принципе будет работать на  99% устройств, которые качают приложения в магазине. Чем выше  API, тем больше возможностей вам предоставит Андроид (новые возможности работы с графикой и звуком, датчики гравитации, ускорения и т.д), но количество устройств, на которых сможет работать ваше приложение сократится. 

Нажимаем Next.
Создаем активити в приложении. Здесь выбираем по умолчанию Blank Activity

 Нажимаем Next.
В следующем окне нам предлагают выбрать имя активити, лэйаута, титула и имя меню ресурса. Оставляем без изменений.
 Нажимаем Finish.
У меня появилось на экране вот что.
 Вполне возможно у вас будет что-то другое, но я специально оставил это фото, так как начинающие не знают, что дальше делать, тем более в главном окне появилась страшная надпись
Rendering Problems.
Всё из-за того, что по умолчанию Студия пытается эмулировать вам экран современного устройства, на который я не устанавливал библиотек, так как у меня его нет J. Решаем проблему двумя способами, или устанавливаем нужные библиотеки (см. И-нет) или выбираем API, которое у вас установлено по умолчанию. В моем случае API 17: Android 4.2.2.
 Тогда окно сразу меняет свой вид на такое.
В принципе можно уже творить, но…  Я столкнулся с неприятными вещами, когда работал с эмуляторами. Например, анимация в нем работала, а на реальном устройстве нет. Загрузка обновленного приложения на реальное устройство в разы быстрее, чем на эмуляторе.  Так как пользователь будет работать на реальном устройстве, делаем вывод, что тестировать нужно на конкретном андроиде (в идеале, на всех, что и делают на крупных студиях). У меня дома два устройства (телефон и планшет), поэтому для начала подключу телефон SAMSUNG GT S5690. Скажу сразу, что Студия его не увидела в начале, пока я не установил драйвера вместе с программой  Samsung Kies. Чтобы запустить наше приложение на реальном устройстве, нужно изменить конфигурацию. Нажимаем Run>Edit Configurations…

 Теперь меняем эмулятор на USB устройство
 Нажимаем ОК и видим, как приложение запустилось на телефоне.
 Некоторые телефоны и планшеты перед этой процедурой нужно установить в режим отладки через USB. Тут всё зависит от вашей марки, поэтому отсылаю опять в И-нет.
Итак, что мы видим. Это наше главное  активити на данный момент. Мы видим черную полоску Бара с названием приложения. Студия по традиции сгенерировало нам надпись «Hello world!». 
Теперь закроем приложение на телефоне. Мы видим, как Студия сгенерировала нам иконку по умолчанию.
Пожалуй, на этом пока закончим. В следующем посте установим нашу иконку и сделаем стартовую страничку нашей игры.

Комментариев нет:

Отправить комментарий