1. Написание первой игры на игровом движке
У любой реализации компьютерной игры со стороны разработчика есть три стадии:
- Инициализация игры. Сюда можно отнести различные подготовительные действия: установку размера и прорисовку игрового поля, создание и установку игровых объектов в начальное положение, а также любые другие действия, которые необходимо выполнить в начале игры.
- Игровой процесс. Сюда можно отнести движение игровых объектов, действия игрока, учет заработанных очков, а также любые другие действия, которые необходимо выполнять с определенной периодичностью или по нажатию кнопок.
- Завершение игры. Сюда можно отнести остановку анимации, сообщение о победе/поражении, а также любые другие действия, которые необходимо выполнить в конце игры.
Сейчас мы последовательно пройдемся по всем трем шагам и посмотрим, как игровой движок JavaRush поможет сделать этот процесс проще.
2. Инициализация игры
Процесс инициализации игры с помощью игрового движка JavaRush состоит всего из двух шагов:
Шаг 1: Создаем основной класс игры
Для создания своей игры на основе игрового движка JavaRush вам нужно создать класс и унаследовать его от класса Game (com.javarush.engine.cell.Game). Это даст вашему классу возможность вызывать методы игрового движка, а движок получит возможность вызывать методы вашего класса. Пример:
import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
...
}
Шаг 2: Переопределяем метод initialize()
В методе initialize()
будут происходить все действия, необходимые для старта игры: создание игрового поля, создание всех игровых объектов, и т.п. Вам нужно просто объявить этот метод в классе, унаследованном от класса Game. Пример:
import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
@Override
public void initialize() {
// Тут выполняем все действия по инициализации игры и ее объектов
}
}
Метод initialize()
— это аналог метода main()
: именно с него начинает выполняться весь ваш код, написанный для игры.
3. Создание игрового поля
Процесс создания игрового поля тоже состоит всего из двух шагов:
Шаг 1: Делим игровое поле на клетки
Все игровое поле делится игровым движком на клетки. Минимальный размер 3×3, максимальный 100×100.
Игровой экран имеет постоянный размер. Он может быть разделен на разное количество клеток. Например, ширина 7 и высота 9:
Обратите внимание, что нумерация клеток начинается с верхнего левого угла.
Чтобы задать размер игрового поля, используйте метод void setScreenSize(int width, int height)
. Он задает размер игрового поля. В качестве параметров принимает количество клеток по горизонтали (width
) и по вертикали (height
). Обычно вызывается один раз при запуске игры. Пример:
import com.javarush.engine.cell.Game;
public class MySuperGame extends Game {
@Override public void initialize()
{
// задаем размер поля 7x9 клеток
setScreenSize(7, 9);
...
}
}
В процессе написания игры, может понадобиться получить текущую ширину и высоту игрового поля. Для этого пригодятся методы int getScreenWidth()
и int getScreenHeight()
.
Шаг 2: Включаем/выключаем сетку (необязательно)
Если вам не нравится, что на вашем игровом поле отображается черная сетка, разделяющая ячейки, вы можете ее выключить.
Метод void showGrid(boolean isShow)
включает/выключает сетку, разделяющую клетки. По умолчанию сетка отображается. Чтобы ее выключить, вызовите этот метод с параметром false
:
showGrid(false);
Результат:
Чтобы снова включить сетку, вызовите:
showGrid(true);
Результат:
4. Примитивная программа
Давайте напишем очень примитивную игру, которая использует игровой движок JavaRush. Она будет делать 3 действия:
- Разобьет игровое поле на 9 клеток: 3×3
- Отключит сетку — линии между клетками
- Центральную клетку раскрасит в синий цвет и напишет там букву
Х
.
Такая программа будет выглядеть так:
public class MySuperGame extends Game
{
@Override
public void initialize()
{
// Создаем игровое поле 3x3 клетки
setScreenSize(3, 3);
// Выключаем отображение сетки
showGrid(false);
// Меняем фон центральной клетки на синий и отображаем в ней "Х"
setCellValueEx(1, 1, Color.BLUE, "Х", Color.ORANGE, 50);
}
}
В этом примере игровому полю задается размер 3х3, отключается отображение сетки, и по центру устанавливается оранжевый символ Х
размером в половину клетки на синем фоне. Это будет первое, что увидит игрок при запуске игры.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ