Майкл Моррисон - Создание игр для мобильных телефонов

Тут можно читать онлайн Майкл Моррисон - Создание игр для мобильных телефонов - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Создание игр для мобильных телефонов
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.56/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Майкл Моррисон - Создание игр для мобильных телефонов краткое содержание

Создание игр для мобильных телефонов - описание и краткое содержание, автор Майкл Моррисон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга «Создание игр для мобильных телефонов» – это практическое руководство, которое поможет разработать и реализовать игру для мобильного телефона.

Книга написана простым языком, не содержит сложной и скучной теории программирования и шаг за шагом знакомит с методикой создания технологии «plug-and-play» применительно к созданию огромного количества игр.

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

Если вы любите играть в игры и занимаетесь программированием, то эта книга – для вас!

Перевод: К. Михалкин

Создание игр для мобильных телефонов - читать онлайн бесплатно ознакомительный отрывок

Создание игр для мобильных телефонов - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Майкл Моррисон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Рис. 18.6. Изображение ракеты состоит из нескольких фреймов, каждый из которых соответствует определенному типу ракеты

► анимационное изображение взрыва (рис. 18.7);

Рис. 18.7. Изображение взрыва

► маленькое изображение автомобиля (рис. 18.8).

Рис. 18.8. Маленькое изображение автомобиля используется для отображения числа оставшихся жизней

Эти изображения определены самим дизайном игры, речь о котором шла ранее, поэтому здесь не должно быть ничего удивительного. Стоит отметить, что спрайты пришельцев являются анимационными (рис. 18.3—18.5), что делает героев интереснее. Другой традиционный для игр спрайт – это анимационный спрайт взрыва (рис. 18.7).

В игре Space Out используется традиционный анимационный спрайт и для изображения ракеты (рис. 18.6). Изображение содержит несколько фреймов анимации, но каждый фрейм – это отдельный тип ракеты, а не кадр анимации. Иначе говоря, фреймы изображения ракет никогда не выводятся последовательно, как в случае с обыкновенными анимационными изображениями. Напротив, каждый фрейм изображения – это отдельный тип ракеты. Четыре типа ракеты – это ракеты игрока и трех пришельцев.

Другие важные элементы игры Space Out – это счет, который необходимо вести во время игры, а также число жизней (автомобилей). Игра завершается, когда уничтожены все четыре автомобиля. Сложность игры хранится в переменной и увеличивается по мере уничтожения пришельцев игроком. Другое важное хранилище информации – это переменная булевского типа, которая отслеживает, завершена ли игра.

Итак, разработка игры привела нас к следующим важным аспектам, которыми необходимо управлять во время игры:

► число оставшихся жизней (автомобилей);

► счет;

► булевская переменная, отслеживающая окончание игры.

Эта информация отражает ядро игровых данных, которые необходимо отслеживать во время игры. Помните, что игровые спрайты – очень важный компонент состояния игры. Зная это, вы можете перейти к проработке кода игры Space Out. Так же, как и игра High Seas, созданная в главе 12, игра Space Out потребует значительных сил, но труд будет вознагражден! Вы увидите!

Реализация игры

Структура игры аналогична структуре игр, разработанных ранее. В следующих разделах вы разработаете код и ресурсы игры.

Создание движущихся спрайтов

Разработку игры Space Out начнем с создания нового класса спрайтов, который будет использоваться в игре для реализации движущихся спрайтов. Этот класс MovingSprite аналогичен классу DriftSprite из главы 12 за исключением того, что в первом будут использоваться компоненты X и Y скорости, а также обрабатываться столкновения спрайта со стенкой экрана.

Любой спрайт в итоге может достичь края экрана, и в этом случае возможны несколько вариантов. Например, в игре Pong спрайт, достигающий границы экрана, отскакивает от нее. В игре Asteroids при достижении границы экрана спрайт может появиться у противоположной стороны. В некоторых играх спрайт просто замирает или уничтожается (скрывается). Все эти возможности реализует класс MovingSprite. Давайте перечислим эти возможности снова:

скрыться– сокрытие спрайта по достижении им края экрана;

переместиться– при достижении спрайтом края экрана он появляется у противоположного края;

оттолкнуться– по достижении спрайтом границы экрана направление его движения изменяется на противоположное;

остановиться– если спрайт достигает края экрана, он останавливается.

Все эти случаи реализуются константами класса MovingSprite. Ниже приведены константы и переменные этого класса:

private int xSpeed, ySpeed;

private int action;

private Canvas canvas;

public static final int BA_HIDE = 1; //Эти константы описывают различные действия на границах игрового поля при перемещении спрайтов

public static final int BA_WRAP = 2;

public static final int BA_BOUNCE = 3;

public static final int BA_STOP = 4;

Переменные xSpeed и ySpeed хранят соответствующие компоненты скорости спрайта, которые измеряются в пикселях за один игровой цикл. Переменная action содержит код действия, выполняемого по достижении спрайтом границы экрана – значение одной из констант класса. Поэтому каждый движущийся спрайт по достижении края экрана должен остановиться, появиться у другого края экрана, оттолкнуться или скрыться.

Граница экрана определяется переменной canvas, которая хранит холст, на котором выводится спрайт. Цель этой переменной – создать прямоугольную границу, ограничивающую движения спрайта. Иначе говоря, размеры переменной canvas служат размерами области, в которой может перемещаться спрайт – движение вне области невозможно.

Переменные класса MovingSprite инициализируются конструктором MovingSprite (листинг 18.1).

Листинг 18.1. Конструктор класса MovingSprite создает как анимационный, так и неанимационный спрайт

public MovingSprite (Image image, int xMoveSpeed, Int yMoveSpeed,

int boundsAction, Canvas parentCanvas) {

super(image); //Вызов родительского конструктора Sprite()

// скорость XY

xSpeed = xMoveSpeed;

ySpeed = yMoveSpeed;

// действие при достижении границы экрана

action = boundsAction;

// родительский холст

canvas = parentCanvas;

}

public MovingSprite(Image image, int frameWidth, int frameHeight, int xMoveSpeed,

int yMoveSpeed, int boundsAction, Canvas parentCanvas) {

super(image, frameWidth, frameHeight); //Вызов родительского анимационного конструктора Sprite()

// скорости XY

xSpeed = xMoveSpeed;

ySpeed = yMoveSpeed;

// действие при достижении границы экрана

action = boundsAction;

// родительский холст

canvas = parentCanvas;

}

В классе MovingSprite реализованы два конструктора – для создания анимационного и обычного спрайтов. Оба конструктора вызывают конструктор родительского метода Sprite(), который создает ядро спрайта, после чего выполняется инициализация специфических переменных класса. В отличие от класса DriftSprite, разработанного в главе 12, метод update() в классе MovingSprite удивительно прост:

public void update() {

// Move the sprite based on its speed

move(xSpeed, ySpeed);

// Check for a collision with the screen boundary

checkBounds();

}

Сначала метод update() перемещает спрайт на основании текущей скорости, хранящейся в целочисленных переменных xSpeed и ySpeed. Метод завершается проверкой, находится ли спрайт внутри границ. Это выполняется методом checkBounds(), код которого приведен в листинге 18.2. Листинг 18.2. Метод checkBounds() проверяет столкновение спрайта с границей экрана и в случае столкновения выполняет соответствующие действия

private void checkBounds() {

// спрятать спрайт при необходимости

if (action == BA_HIDE) { //Спрятать спрайт при ударении о границу экрана

if (getX() < 0 || getX() > (canvas.getWidth() – getWidth()) ||

getY() < 0 || getY() > (canvas.getHeight() – getHeight()))

setVisible(false);

}

// переместить спрайт к противоположному краю экрана

else if (action == BA_WRAP) { //При достижении границы экрана спрайтом переместить спрайт к противоположному краю

//Wrap the sprite around the edges of the screen

if (getX() < -getWidth())

setPosition(canvas.getWidth(), getY());

else if (getX() > canvas.getWidth())

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Майкл Моррисон читать все книги автора по порядку

Майкл Моррисон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Создание игр для мобильных телефонов отзывы


Отзывы читателей о книге Создание игр для мобильных телефонов, автор: Майкл Моррисон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x