×
Traktatov.net » Создание игр для мобильных телефонов » Читать онлайн
Страница 222 из 246 Настройки

break;

}

}

Метод addMissle()принимает спрайт игрока в качестве единственного параметра, создается эффект запуска ракеты указанным спрайтом.

Основная хитрость этого метода – определение типа запускаемой ракеты. Необходим простой и надежный метод определения типа спрайта, запускающего ракету. Хитрость заключается в том, чтобы проверять скорость Х спрайта, поскольку каждый спрайт имеет уникальное значение этой составляющей скорости. Следовательно, оператор условного перехода switch использует именно эту величину для определения типа добавляемой ракеты.

Процесс добавления ракеты содержит следующие этапы:

1. найти подходящий спрайт, который еще невидим;

2. выбрать нужный фрейм спрайтового изображения;

3. поместить ракету в точку, находящуюся рядом с запускающим спрайтом;

4. установить скорость ракеты в зависимости от ее типа;

5. показать ракету.

И наконец, мы подходим к последнему методу игры Space Out, очень похожему на рассмотренные ранее методы addAlien() и addMissle(). В листинге 18.7 приведен код метода addExplosion().

Листинг 18.7. Метод addExplosion() класса SOCanvas добавляет взрыв при разрушении спрайта

private void addExplosion(MovingSprite sprite) {

for (int i = 0; i < 3; i++)

if (!explosionSprite[i].isVisible()) {

// Add an explosion where the moving sprite is located

explosionSprite[i].setFrame(0); //Проверка, что анимация взрыва начинается с первого фрейма

explosionSprite[i].setPosition(sprite.getX(), sprite.getY());

explosionSprite[i].setVisible(true);

break;

}

}

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

1. найти подходящий спрайт взрыва, который еще не задействован;

2. установить номер первого фрейма анимации – 0;

3. разместить спрайт взрыва в центре уничтоженного спрайта;

4. показать взрыв.

Метод addExplosion() завершает код игры Space Out. Я представляю, что к разработке кода были приложены титанические усилия, но следующий раздел вознаградит ваши старания!

Тестирование игры

Я уже много раз говорил, что тестирование – это один из самых веселых этапов тестирования игры, а теперь вы подошли к тестированию совершенно новой игры. Подобно игре High Seas, игра Space Out требует значительного времени на тестирование из-за большого числа взаимодействий игровых спрайтов. Самое хорошее, что для тестирования надо просто поиграть в Space Out. На рис. 18.9 показано начало игры, пришелец запускает ракету, автомобиль отвечает огнем.

Рис. 18.9. Игра Space Out начинается с того, что пришелец атакует игрока ракетой

Автомобиль можно перемещать, нажимая клавиши Влево или Вправо, чтобы запустить ракету – необходимо нажать клавишу Огонь (клавиша ввода на клавиатуре, если вы используете эмулятор). Если вы попадете в пришельца, то он взорвется (рис. 18.10).

Рис. 18.10. Когда вы попадаете в пришельца, появляется взрыв

В итоге, вы окажетесь на опасной территории под атакой пришельцев, они попадают в автомобиль, на месте которого появляется взрыв (рис. 18.11).

Рис. 18.11. Когда пришельцы подбивают машину, на экране появляется взрыв