Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Урок по AndEngine No5: Использование слоев -- Layers



Урок по AndEngine №5: Использование слоев — Layers
2013-06-26 21:12 rem1x

Приветствую всех моих читателей и гостей! Извините за небольшую задержку, но всё таки на улице лето и жара, пора отпусков, работы в огороде, на даче, отдыха на пляже, шашлычки и другие развлечения. Поэтому могут быть некоторые задержки с выходами постов, прошу меня понять и простить icon smile Урок по AndEngine №5: Использование слоев   Layers

logo Урок по AndEngine №5: Использование слоев   Layers

Слои (Layers) — действительно полезная вещь при разработке любой игры. К счастью, движок AndEngine дает нам возможность легко создавать слои и также легко ими управлять.

Что такое слои вообще? Это легко можно объяснить вот такой картинкой:

layers 1 300x139 Урок по AndEngine №5: Использование слоев   Layers

 

Я даже не знаю как точнее можно дать определение слоев. Например, может быть слой с фоновым изображением, слой с элементами меню, слой с элементами HUD, слой с элементами управления и другие. К слоям можно прикреплять разные спрайты, элементы управления и т.д. и это будут как бы отдельные группы элементов.

Надеюсь, вы поняли.

Чтобы создать слой и привязать его к сцене, нужно всего лишь создать объект (Entity) и соответственно привязать его, всё, после этого наш первый слой готов.

Вот как это делается:

final int FIRST_LAYER = 0; 
 final int SECOND_LAYER = 1;

Это обычные числовые переменные для того чтобы именовать слои и обращаться к ним по индексу. Очень удобно, если не поняли — дальше станет понятнее.

private void createLayers() {
 scene.attachChild(new Entity()); // First Layer
 scene.attachChild(new Entity()); // Second Layer
 }

Как видно из кода, мы обращаемся к Scene, вызываем метод attachChild и в качестве параметра передаем новый объект Entity. Эти объекты не имеют уникального имени, поэтому к ним мы можем обращаться по уникальному ID, который начинается с 0, 1, 2…. и т.д. То есть результатом первой команды будет объект с индексом 0, результатом второй команды будет объект с индексом 1 и так далее.

Как вы помните, вначале мы заранее инициализировали две числовые переменные, FIRST_LAYER и SECOND_LAYER задав им значение 0 и 1. Это мы сделали для удобства, чтобы обращаться к ним вот так:

scene.getChildByIndex(FIRST_LAYER).attachChild(yourEntity);

Чтобы не запоминать индексы слоев icon smile Урок по AndEngine №5: Использование слоев   Layers Как видите, мы обратились к First Layer, использовав те переменные которые сделали вначале и привязали к этому слою какой-то свой объект. Теперь yourEntity принадлежит и связан с First Layer.
Если Вам всё равно не понятно, постарайтесь внимательно прочитать код и вникнуть в него, станет понятно и легко.



Урок по AndEngine №6: Entity Modifiers — модификаторы объектов
2013-06-29 02:28 rem1x

Приветствую всех читателей и гостей!

В этом уроке проливается свет на такие вещи как модификаторы объектов (Entity Modifiers).

Модификаторы объектов это полезные классы, которые могут придавать некие «эффекты» вашим спрайтам или каким либо объектам, такие как вращение, масштабирование, смена прозрачности и др.

В AndEngine, вы можете открыть пак org.andengine.entity.modifiers, там можно найти какие-нибудь полезные модификаторы, ну или добавить свои, если руки из правильного места растут icon smile Урок по AndEngine №6: Entity Modifiers   модификаторы объектов

logo Урок по AndEngine №6: Entity Modifiers   модификаторы объектов

 

1.Регистрация нового модификатора

Все что вам нужно сделать, это использовать следующую строку для регистрации нового модификатора объекта (пример)

yourEntity.registerEntityModifier(new RotationModifier(3, 0, 360));

В этом примере был зарегистрирован новый RotationModifier, он имеет 3 основных параметра:

  • Длительность модификатора — 3 секунды в этом примере
  • Начало вращения (от градусов) — в ​​нашем примере 0 градусов
  • Конец вращения — в ​​нашем примере на 360 градусов — полный оборот.

2. Бесконечные модификаторы.

Вы также можете зарегистрировать бесконечный модификатор (который будет проигрываться постоянно).

Для этого вам нужно использовать вот такую строчку, используя LoopEntityModifier:

yourEntity.registerEntityModifier(new LoopEntityModifier(yourModifier));

3. Слушатели модификаторов (Modifiers Listeners)

Иногда вам нужно запустить какой-то определенный код в какой-то определенный момент времени. Например во время запуска модификатора, или по его завершению. Для этого вам нужно переопределить некоторые методы при созданий нового модификатора. Вот как это делается:

RotationModifier yourModifier = new RotationModifier(3, 0, 360)
{
 @Override
 protected void onModifierStarted(IEntity pItem)
 {
 super.onModifierStarted(pItem);
 // Your action after starting modifier
 }

 @Override
 protected void onModifierFinished(IEntity pItem)
 {
 super.onModifierFinished(pItem);
 // Your action after finishing modifier
 }
};

yourEntity.registerEntityModifier(yourModifier);

Первой строчкой, создается модификатор. После, в методе onModifierStarted пишется код который нужно выполнить после запуска модификатора, после в onModifierFinished пишется код который нужно выполнить после выполнения модификатора, последней строчкой уже регистрируется и применяется этот новый модификатор. Всё просто и понятно, никаких сложностей возникнуть не должно.

 

Проявляйте вашу любовь, подписывайтесь на RSS, буду рад вашим подпискам! :]



Урок по AndEngine №7: Создание бэкграунда (Background Creating)
2013-06-30 01:31 rem1x

Здравствуйте мои дорогие читатели!

Создание фона или по другому бэкграунда.

Многих новичков, в первую очередь интересует вопрос, как вставить на фон картинку, чтобы фон не был тупо одноцветным.

Так вот, AndEngine позволяет нам создать несколько типов бэкграундов без особых усилий. Итак, простой цветной бэкграунд делается так:

logo Урок по AndEngine №7: Создание бэкграунда (Background Creating)

 

private void createBackground()
{
scene.setBackground(new Background(Color.RED));
}

В данном примере, создается статичный бэкграунд красного цвета.

2. Создание Parallax Background`а.

Чтобы вставить изображение на фон, нам нужно создать Parallax Backgorund. Это изображение будет видно всегда и оно будет следовать за камерой, куда бы вы не повернули его (камеру, тобишь). Но напрямую изображение указать не получится, нужно сначала создать спрайт с нужным изображением и этот спрайт применить уже к PB (Parallax Background), через Parallax Entity. Но не пугайтесь, это не сложно:

private void createBackground()
{
ParallaxBackground background = new ParallaxBackground(0, 0, 0); //новый PB фон
background.attachParallaxEntity(new ParallaxEntity(0, new Sprite(0, 0, background_region, vbo))); //аттачим к нему паралахэнтити передав ему спрайт с изображением
scene.setBackground(background); //ставим бэкграунд
}

Вот и всё в принципе, ничего сложного.

 

Проявляйте вашу любовь, подписывайтесь на RSS, буду рад вашим подпискам! :]



А надо ли?
2013-06-30 01:48 rem1x

Друзья мои!

Вот пока переводил уроки по AndEngine, как вы можете видеть внизу, возник такой вопрос: А НУЖНО ЛИ ЭТО КОМУ ТО?

Просто что то даже просмотров мало этих постов, комментариев нет, складывается ощущение что никому не нужно. Так ли это?

Если нужно, тыкните по кнопочке «ДАЛЕЕ» и по количеству просмотров этой записи, я определю нужны или нет. Если просмотров будет много — буду дальше переводить, если мало — заброшу перевод и буду изучать для себя, что учитывая пока мой устойчивый интерес к AndEngine, приведет к снижению частоты постов в блоге. Или голосуйте сбоку, там тоже есть голосовалка. Или отпишитесь в комментах, надо, нет?

Объясняю почему нужно обязательно нажать кнопочку «Далее». WordPress не считает просмотры поста, если не тыкать кнопку «Далее», спасибо за понимание.


logo А надо ли?

Если Вы читаете это, значит вам мои переводы нужны и вы только что внесли свой вклад в ответе на вышепоставленный вопрос, спасибо icon smile А надо ли? Вот вам няшка ^^

images55 А надо ли?



Ищу художника-дизайнера.
2013-07-10 17:36 rem1x

Собственно, приветствую вас мои читатели.

Сегодня мне нужна ваша помощь.

Я в порядке, я никуда не пропадал и не собираюсь. В данный момент работаю над простенькой игрушкой на движке AndEngine. Поэтому, мне нужна ваша помощь.

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

Я и сам умею граф.редакторами пользоваться, но плохо рисую. Поэтому нужна помощь в прорисовке некоторых спрайтов. Если Вы знаете такого человека, пожалуйста, отправьте мне его координаты на е-майл: programmist.blog.help@gmail.com

Ну там может его емайл, айди вк, аська или что нибудь.  Или скажите чтобы мне сами написали, сами пишите, разговаривайте, я всем отвечу. Спасибо!



Что то отдаленно напоминающее игру. Игра на движке AndEngine
2013-07-13 05:01 rem1x

Итак, привет всем кто не спит icon smile Что то отдаленно напоминающее игру. Игра на движке AndEngine Время 5 утра, сегодня, спустя туеву хучу времени, я наконец то могу показать то, над чем я сейчас работаю. Игруля на движке AndEngine. Делалась исключительно для себя, лично мной, не для заработков, не для пиара и чего либо. Просто для себя, так сказать, чтобы прочувствовать гейм-дев на себе, сложность, процессы, этапы и набраться опыта. Но я всё таки немного старался, поэтому ну что то да получается.

Повторюсь на всякий случай, что я её еще НЕ доделал, еще много работы. Игра завершена на процентов 60, я оцениваю примерно 60% завершенности разработки. Пример вы можете увидеть на ютубе:

Да, кстати, принимаются пожелания насчет геймплея, потому что я пока не могу выбрать. Куча идей и просто мысли разбегаются от обилия идей и не могу определиться из-за этого.

Да кстати, скоро будут новые переводы статей и уроков по AndEngine, в будущем также поделюсь со своим мнением насчет гейм-дева под андроид в целом. Ждите, мои дорогие друзья и никуда не уходите icon smile Что то отдаленно напоминающее игру. Игра на движке AndEngine Я вас всех люблю  :)



В избранное