Как связать игровой движок и игру для Android? - PullRequest
3 голосов
/ 10 февраля 2012

Я работаю над игровым движком, написанным на C ++. Мой движок использует OpenGLES2. Теперь я хочу сделать порт для Android, конечно, используя jni. Также у меня есть игра, написанная на этом игровом движке.

Я написал небольшую Java-оболочку для вызова методов Init, Draw / Update и Terminate из моей игры, написанной на C ++.

В то же время моя игра будет вызывать функции C ++ из движка.

[java Android] - jni -> [c ++ Game] - вызов -> [c ++ Engine] - вызов -> [OpenGLES2]

Вопрос в том, как все это связать.

Я могу собрать свой игровой код c ++ для libGame.so и вызывать методы в этой библиотеке из java. Но как связать игру с движком, а затем с движком opengles2 для Android?

Кто-нибудь может помочь? Любой совет важен.


Вопрос теперь другой) Какой тип библиотеки мне использовать: .a или .so для моего движка и как связать мою игру с движком?

1 Ответ

1 голос
/ 17 февраля 2012

SWIG

Этот инструмент сгенерирует в основном все оболочки JNI C ++ и Java для вас и позволит вам легко делать некоторые безумные вещи.Также, когда вы закончите написание файлов конфигурации SWIG, вы можете создать его для множества разных языков.Java на C ++ не очень хорошая комбинация.Вы, вероятно, обнаружите, что вам нужно изменить свой интерфейс C ++, чтобы он был более похож на java, чтобы избежать проблем с памятью.

...