Эта статья описывает настройку Eclipse для разработки и запуска libGDX приложения на компьютере и Android.
Android и Java 1.7
В настоящий момент Java 1.7 вызывает проблемы на Android. Пожалуйста, убедитесь, что ваш проект использует Java 1.6. Рекомендуется использовать setup-ui, если вы хотите развертывать приложение на iOS.
Настройка основного или главного проекта
- Создайте в Eclipse новый Java проект. File -> New -> Project -> Java Project. Дайте соответствующее название и нажмите Finish.
- Перейдите в директорию проекта в файловой системе и создайте поддиректорию с именем libs. Скачайте nightly архив и положите gdx.jar и gdx-sources.jar в libs директорию.
- Обновить проект в Eclipse нажатием правой кнопкой мыши на проекте и выберите Refresh F5. Снова нажатием правой кнопкой мыши на проекте и выберите Properties, далее Java Build Path -> Libraries -> Add Jars, выберите gdx.jar и нажмите OK.
- Здесь же под gdx.jar файлом выполните двойное нажатие мыши на "Source attachment", далее нажмите Workspace, выберите gdx-sources.jar и нажмите OK.
- Выберите вкладку Order and Export, отметьте gdx.jar и нажмите OK.
Шаг 5 позволяют сделать gdx.jar прозрачно зависимым. Это означает, что проекты зависящие от главного, также будут иметь gdx.jar в своем classpath. Однако, это не работает для Android проекта.
Настойка Desktop проекта
- Создайте в Eclipse новый Java проект. File -> New -> Project -> Java Project. Дайте соответствующее название (например, gamename-desktop) и нажмите Finish.
- Перейдите в директорию проекта в файловой системе и создайте поддиректорию с именем libs. Из nightly архива положите gdx-natives.jar, gdx-backend-lwjgl.jar и gdx-backend-lwjgl-natives.jar в libs директорию.
- Обновите проект в Eclipse нажатием правой кнопкой мыши на проекте и выберите Refresh F5. Снова нажатием правой кнопкой мыши на проекте и выберите Properties, далее Java Build Path -> Libraries -> Add Jars, выберите эти JAR файла и нажмите OK.
- Выберите вкладку Project, нажмите Add и отметьте основной проект и нажмите OK.
Настройка Android проекта
Перед следующими шагами сначала должен быть установлен Android SDK.
- Создайте в Eclipse новый Android проект. File -> New -> Project -> Android Application Project. Дайте соответствующее название (например, gamename-android). При выборе build target отметьте Android 1.5. Укажите имя пакета (например, com.gamename). Далее при создании Activity введите AndroidGame. Нажмите Finish.
- Перейдите в директорию проекта в файловой системе и создайте поддиректорию с именем libs. Из nightly архива положите gdx-backend-android.jar и armeabi and armeabi-v7a в libs директорию.
- Обновите проект в Eclipse нажатием правой кнопкой мыши на проекте и выберите Refresh F5. Снова нажатием правой кнопкой мыши на проекте и выберите Properties, далее Java Build Path -> Libraries -> Add Jars, выберите gdx-backend-android.jar и нажмите OK.
- Снова нажмите Add JARs, выберите gdx.jar под основным проектом и нажмите OK.
- Выберите вкладку Projects, нажмите Add, отметьте основной проект и нажмите OK дважды.
- Выберите вкладку Order and Export, отметьте основной проект.
Название libs директории
Директория libs не должна иметь другого названия, это обусловлено соглашением для Android Eclipse плагина.
Настройка asset директории
Android проект имеет поддиректорию с именем assets, которая создается автоматически. Файлы в этой директории доступны Android приложению. Это вызывает проблему, потому что эти же самые файлы должны быть доступны и Desktop приложению. Вместо того чтобы делать копию всех файлов, нужно настроить Descktop проект, чтобы он нашел assets в Android проекте.
- Нажатием правой кнопкой мыши на проекте и выберите Properties, далее Java Build Path. Выберите вкладку Source и нажмите Link Source, затем Browse, выберите assets директорию Android проекта и нажмите OK.
- Укажите assets в качестве имени директории, нажмите Finish и затем OK.
Если Desktop и Android проекты находятся в одной и той же директории, то вы можете использовать "PARENT-1-PROJECT_LOC/gamename-android/assets" локацию для связанной assets директории, где "gamename-android" имя вашего Android проекта. Это лучше чем hard-coded путь, если планируете иметь общий доступ или разделять проект для других проектов.
Создание игры
В вашем главном проекте создайте новый класс. Нажмите правой кнопкой мыши на проект, Project -> New -> Class. Назовите класс "Game" и укажите пакет (например com.gamename). Далее укажите интерфейс ApplicationListener и нажмите OK. Класс будет выглядеть примерно так:
import com.badlogic.gdx.ApplicationListener; public class Game implements ApplicationListener { public void create () { } public void render () { } public void resize (int width, int height) { } public void pause () { } public void resume () { } public void dispose () { } }
Такой метод позволяет настроить и визуализировать игру. Так как ничего нет, то игра покажет пустой экран. Для начала мы запустим игру, прежде чем переходить к чему-нибудь более интересному.
Запуск игры на Desktop
Нажмите правой кнопкой мыши на Desktop проекте Project -> New -> Class. Назовите класс DesktopGame и укажите пакет (например, com.gamename). Созданный класс выглядит так:
import com.badlogic.gdx.backends.lwjgl.LwjglApplication; public class DesktopGame { public static void main (String[] args) { new LwjglApplication(new Game(), "Game", 480, 320, false); } }
Этот код создает LwjglApplication экземпляр, давая вашей игре название и размер. Параметр false означает, что не используем OpenGL ES 2.0, а используем 1.0/1.1.
Чтобы запустить игры на Desktop, нажмите правой кнопкой мыши на проекте Project -> Debug As -> Java Application. Вы должны получить в результате черное окно с заголовком "Game".
Запуск игры на Android
Откройте в Android проекте AndroidGame класс, который был создан автоматически и выглядит так:
import com.badlogic.gdx.backends.android.AndroidApplication; public class AndroidGame extends AndroidApplication { public void onCreate (android.os.Bundle savedInstanceState) { super.onCreate(savedInstanceState); initialize(new Game(), false); } }
Этот код представляет Android Activity, которая инициализируется, передавая экземпляр вашей игры. Вновь параметр false означает, что не используем OpenGL ES 2.0
Чтобы запустить игры на Android, нажмите правой кнопкой мыши на проекте Project -> Debug As -> Android Application. Экран будет черным, так как в игре ничего не происходит. Если во время запуска приложения произойдут ошибки, то они будут показаны в Logcat просмотре, который можно просмотреть, нажимая Window -> Show View -> Other -> Android -> Logcat.
Обновление libGDX
В некоторых случаях вы захотите обновить libGDX до последней версии. Чтобы сделать это скачайте nightly архив и обновите следующие файлы в ваших проектах.
Проект | Файлы |
---|---|
Основной | libs/gdx.jar libs/gdx-sources.jar |
Android | libs/gdx-backend-android.jar libs/armeabi (directory) libs/armeabi-v7a (directory) |
Desktop | libs/gdx-natives.jar libs/gdx-backend-lwjgl.jar libs/gdx-backend-lwjgl-natives.jar |