Урок по andengine no1 введення і знайомство (blog) розсилка

Вітаю всіх моїх читачів! Починаю викладати вільний переклад уроків по розробці додатків на AndEngine. Сам в даний момент перейшов з libGDX на AndEngine, тому, мої статті та переклади забезпечені.

Введення в AndEngine:

AndEngine є ігровим OpenGL 2D движком з відкритим вихідним кодом, розробленим Ніколос Гремліхом. Навіть якщо ви не маєте досвіду програмування під OpenGL, це не завадить вам створювати 2D програми під Android з використанням OpenGL. Найголовніше - мати досвід програмування на Java. Без цього нікуди.

  • • масштабування додатки в різних пристроях (різних дозволах)
  • • Підтримка мультитач.
  • • Фізичний движок Box2D (у вигляді розширення) (яка використовується, наприклад AngryBirds)
  • • Підтримка Tiled Maps
  • • Системи частинок
  • • Живі шпалери (у вигляді розширення)

2. Переваги використання AndEngine:

  • • Вільний і відкритий вихідний код.
  • • Вам дійсно не потрібен досвід OpenGL програмування, (але буває бажано)
  • • Швидкий, добре пророблений движок
  • • Відносно великі, активні і корисні спільноти.
  • • Багато розширень під движок
  • • Безліч прикладів c демонстрацією можливостей движка

3. Основні недоліки:

  • • Майже немає нормальної документації (особливо російською).
  • • Іноді працює повільніше, ніж інші движки
  • • Відсутність документації є основною складністю на початкових етапах, (важко зрозуміти параметри, функції, методи і т.д.)

Але замість документації, движок має активну англомовне співтовариство і великі країни, що розвиваються проекти, в яких більш досвідчені користувачі можуть допомогти початківцям розробникам, а це в свою чергу допоможе вам легше, швидше і краще розробляти свою гру.

Читайте також:

Перед установкою вам необхідний вже встановлена ​​зв'язка Eclipse + JDK + Android SDK (в Рунеті повно уроків про те, як це зробити, тому проблем з цим виникнути не повинно).

Читайте також:

У цьому уроці я постараюся дати короткий опис найбільш часто використовуваних термінів і визначень ігрового движка AndEngine.

Опис і терміни складені самим Ніколос Гремліхом

Engine (движок) становить ігровий процес з маленьких кроків. Так Engine, синхронізує отрисовку об'єктів на сцені і оновлення екрану, обробку подій, обробку різних даних, які містить активна в даний момент часу ваша Activity. Є різні підкласи, наприклад:

  • LimitedFPSEngine - цей клас намагається досягти певного значення оновлень і відтворення в секунду.

IResolutionPolicy є частиною EngineOptions. Цей клас вказує AndEngine як боротися з різними розмірами екранів різних пристроїв. Тобто метод RatioResolutionPolicy буде максимально збільшувати SurfaceView до граничного розміру, зберігаючи при цьому певне співвідношення. Це означає, що об'єкти не будуть спотворені в той час як SurfaceView матиме максимально можливий розмір.

  • RatioResolutionPolicy - масштабувати все в правильному співвідношенні (недолік - можуть утворитися чорні лінії)
  • FillResolutionPolicy - розтягувати зображення по розміру екрану (недолік - зображення можуть бути розтягнуті)

Camera визначає прямокутник сцени, яка малюється на екрані. Зазвичай, в одній сцені використовується одна Camera. Є підкласи з великою кількістю функцій, наприклад:

  • BoundCamera - камера, із зазначенням розмірів отрісовиваємих частини.
  • ZoomCamera - можна дозволити масштабування, прокрутку камери.

Клас Scene - кореневої контейнер для всіх об'єктів, які можна отрисовать на екрані. Сцена має певну кількість шарів, які самі по собі можуть містити (фіксований або динамічне) кількість елементів. Є підкласи, такі як CameraScene / HUD / MenuScene, які займають одне і те ж положення незалежно від позиціонування камери.Напрімер:

  • HUD - використовується для окулярів, карти, радара і т.д. (Цей підклас слід за змінами камери, тому знаходиться весь час в одному місці, незалежно від переміщення камери)

Entity:
Entitiy це об'єкти, такі як спрайт, прямокутники, текст або ліній. У об'єктів є властивості, такі як: стан / орієнтація / шкала / колір / і т.д.

  • Sprite - об'єкти з текстурою
  • TiledSprite - об'єкти з Tiled текстурами.
  • AnimatedSprite - розширення TiledSprite, анімовані спрайт.

Текстура це «зображення» в пам'яті графічного чіпа. На Android`e ширина і висота текстури повинні бути ступенем 2 (в останньому GLES2 це правило не потрібно, що може бути дійсно корисним для економії пам'яті). AndEngine збирає текстури від декількох ITextureSources, тому простір може використовуватися ефективніше.

TextureRegion:
TextureRegion визначає прямокутник на текстурі. TextureRegion використовують спрайт, щоб дати системі знати, яка частина великої текстури Sprite показує.

Читайте також: