Здравствуйте, сегодня приступим к созданию простой Android игры с помощью бесплатного фреймворка LibGDX и Android Studio.
В данной части (Часть 1) мы создадим проект в фреймворке LibGDX и установим окно игры размером в 480*800.
Скачать исходники для статьи можно ниже
Суть игры: Вы пришелец и гигантские насекомые атакуют твой город! Ваша цель, бежать столько, сколько сможете избегая насекомых.
Управление: Здесь только один путь избежать насекомых: перепрыгивать или уклоняться. Кнопка прыжка будет справа экрана, а кнопка уклонения будет слева экрана.
Как будет выглядеть игра “Марсианин”:
1. Создаём новый проект в LibGDX:
Name: martianrun
Package; com.gamestudio24.martianrun
Game class: MartianRun
Отмечаем галочкой:
– Desktop и Android;
– Box2d и Freetype.
2. Корректируем класс MartianRun
Заходим в Android Studio и открываем наш созданный проект.
У нас откроется созданный нами класс – MartianRun.
После успешного созданий проекта на desktop и Android, я обычно убираю шаблонный код установленный libGDX. Это означает удаление изображения badlogic.jpg, которое добавляется в папку assets folder, а также очищаю созданный класс MartianRun, как ниже:
package com.gamestudio24.martianrun;
import com.badlogic.gdx.ApplicationAdapter;
public class MartianRun extends ApplicationAdapter {
@Override
public void create() {
}
@Override
public void render() {
}
}
Первая вещь, которую мы будем делать – это сделаем наш MartianRun класс наследующийся от Game, так мы сможем поддерживать многоэкранность. Я рекомендую сделать это в случае, если вы хотите добавить многоэкранность в будущем, например заставка, экран меню, доска лидеров и.т.д.
А также мы удаляем метод render().
Мой MartianRun класс теперь выглядит так:
package com.gamestudio24.martianrun;
import com.badlogic.gdx.Game;
public class MartianRun extends Game {
@Override
public void create() {
}
}
3. Создаём класс – GameScreen.
Теперь создадим GameScreen класс внутри только что созданного пакета, а именно создадим новую папку (пакет) “screens” и создадим в ней новый класс с названием GameScreen:
package com.gamestudio24.martianrun.screens;
import com.badlogic.gdx.Screen;
public class GameScreen implements Screen {
@Override
public void render(float delta) {
}
@Override
public void resize(int width, int height) {
}
@Override
public void show() {
}
@Override
public void hide() {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void dispose() {
}
}
После создания класса GameScreen нам нужно установить в нашем MartianRun классе наш GameScreen на запуск, то есть теперь наш MartianRun класс будет выглядеть следующим образом:
package com.gamestudio24.martianrun;
import com.badlogic.gdx.Game;
import com.gamestudio24.martianrun.screens.GameScreen;
public class MartianRun extends Game {
@Override
public void create() {
setScreen(new GameScreen());
}
}
4. Создаём класс – Constants.
Далее давайте установим ширину и высоту нашей игры – 480×800.
Для этого создадим новую папку (пакет) – utils и в нём новый класс – Constants
со следующим кодом:
package com.gamestudio24.martianrun.utils;
public class Constants {
public static final int APP_WIDTH = 800;
public static final int APP_HEIGHT = 480;
}
После подкорректируем Desktop Launcher, так, чтобы наша будущая игра использовала значения ширины и высоты из класса Constants:
package com.gamestudio24.martianrun.desktop;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.gamestudio24.martianrun.MartianRun;
import com.gamestudio24.martianrun.utils.Constants;
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.width = Constants.APP_WIDTH;
config.height = Constants.APP_HEIGHT;
new LwjglApplication(new MartianRun(), config);
}
}
Теперь можете запустим наш проект. У вас должно открыться пустое окно размером – 480×800.
ИТОГИ:
Подводим итоги Части 1:
У нас созданы 3 класса: MartianRun, GameScreen (в папке screens) и Constants (в папке utils).
Код класса MartianRun выглядит так:
package com.gamestudio24.martianrun;
import com.badlogic.gdx.Game;
import com.gamestudio24.martianrun.screens.GameScreen;
public class MartianRun extends Game {
@Override
public void create() {
setScreen(new GameScreen());
}
}
Код класса GameScreen выглядит так:
package com.gamestudio24.martianrun.screens;
import com.badlogic.gdx.Screen;
public class GameScreen implements Screen {
@Override
public void render(float delta) {
}
@Override
public void resize(int width, int height) {
}
@Override
public void show() {
}
@Override
public void hide() {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void dispose() {
}
}
Код класса Constants выглядит так:
package com.gamestudio24.martianrun.utils;
public class Constants {
public static final int APP_WIDTH = 800;
public static final int APP_HEIGHT = 480;
}

