вторник, 25 декабря 2012 г.

Продолжаем обрабатывать столкновения. Плавим астероиды.

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

За видео прошу прощения - снимал, чем мог. Чуть позже, возможно, переделаю.

воскресенье, 11 ноября 2012 г.

Рефакторинг кода. Продолжаем наводить порядок.


Я всегда так пишу программы. От частного к общему. Главная причина в том, что я заранее не знаю, куда иду. Ибо зачастую путь и есть цель. (О как!) Но многие вполне справедливо имеют право закидывать меня помидорами и сыпать не менее красивыми цитатами. (Вроде "Не зная куда идешь - придешь в никуда.") Что ж - у каждого своя голова на плечах. Но тот, кто прочитает мой блог и, возможно, будет копировать мой код - вместе со мной придет к моему рефакторингу.

Теперь ближе к делу. Есть у нас в игре пока два вида объектов. Герой и Астероид. И у них много общего. А потом появятся еще объекты, и под каждый пришлось бы писать код с нуля... если бы не рефакторинг, который мы сейчас и проведем! (Кода будет больше чем в предыдущих постах!)

пятница, 9 ноября 2012 г.

четверг, 8 ноября 2012 г.

Группа объектов. А добавим-ка астероидов.


Интересная особенность наследования:
public class Asteroids extends Entity implements GlobalConstants{ ...... };
Asteroids mAsteroids;
scene.attachChild(mAsteroids);
// метод attachChild принимает аргумент типа Entity, 
// и нет перегруженного метода, принимающего аргумент типа Asteroids!

среда, 7 ноября 2012 г.

Наводим порядочек - вынос части кода в отдельный файл.


Первое и главное, что я сделал - начал выносить код из одного файла в отдельные.
Так появился класс Hero. Пока в него попала только функция создания и движения.
Функцию движения чуток оптимизировал, чтобы при каждом проходе не создавать\убивать 4 int-переменные.

четверг, 4 октября 2012 г.

понедельник, 1 октября 2012 г.

Бэкграунд.


Научился добавлять бэкграунд в сцену. Хотя по сути я просто создал еще один спрайт. Главное - правильно пихать текстуры в конструкцию try-catch в загрузчике ресурсов.

воскресенье, 23 сентября 2012 г.

вторник, 4 сентября 2012 г.

Решение глюков SyntaxHighlighter для блога.


Столкнулся недавно с глюками SyntaxHighlighter. Вернее один глюк был давно и был малозначителен - боковой скроллбар у всех кодов. А вот недавно появился весьма неприятный глюк с нумерацией строк. Т.к. я полный нуб в веб-дизайне, мне пришлось потратить уйму времени на поиск вот такого костыля:
 
 
 
Это надо добавить перед вашим кодом в сообщении. Естессно, в HTML. Первая часть костыля решает проблему нумерации. Вторая убирает боковой скроллбар.

Возможно, как-то можно эти конструкции засунуть в HTML-шаблон блога и тогда они будут работать всегда и везде. Кто мне скажет как или хотя бы даст правильную (можно буржуйскую) ссылку - тот будет Человек с большой буквы.

UPD/ Опыт показал, что размещенный костыль действует на все сообщение целиком, его не надо вставлять перед каждым куском кода (если кусков в сообщении несколько)

вторник, 8 мая 2012 г.

(АРХИВ GLES1)Стрельба. (Создание и удаление множества однотипных спрайтов)

Для начала подготовим код для наших "пуль". Будут использованы анимированные спрайты. В моем случае это 8 кадров, каждый размером 32*32 пискела. При нажатии на любую область экрана из самолетика (из-под левого и правого крыла) - должна вылетать пара шариков плазмы. И лететь относительно быстро вверх по экрану. Должен быть некоторый счетчик выстрелов в секунду, разрешающий делать выстрелы не чаще, чем например 3 штуки в секунду. Конечно, улетевшие вверх, за область экрана, шарики - надо удалять из сцены.

вторник, 1 мая 2012 г.

(АРХИВ GLES1) Бэкграунд. Текст.

Здесь будет рассмотрено создание бэка и вывод текста.
На видео есть стрельба пульками, но этот вопрос будет рассмотрен позже.

воскресенье, 29 апреля 2012 г.

Проблемы перехода на GL ES 2

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

воскресенье, 22 апреля 2012 г.

(АРХИВ GLES1) Создание спрайта. Перетаскивание вручную. Акселерометр.

Вашему вниманию предлагается следующий код.
На черном фоне создается спрайт (картинка-самолетик). Этот спрайт можно двигать пальцем по экрану. Так же он связан с акселерометром. Если наклонить аппарат влево, то самолетик на экране движется влево. Чем сильнее наклоняешь - тем  быстрее движется.

Начало.

Всем привет.
Я изучаю AndEngine - бесплатный игровой движок для Android. Я искал и продолжаю искать хорошие материалы на эту тему на русском языке. Однако, Я выяснил 3 вещи. Во-первых на русском таких материалов крайне мало. Во-вторых туторы, которые лежат на официальном форуме движка - далеко не всегда рабочие и требуют допиливания и пусть недолгих, но плясок с бубном. В-третьих, авторы движка не сочли нужным снабдить функции движка комментами.

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