2014-07-12 15 views
8

Ho un gioco scritto in C/C++ con SDL 2.0, vorrei portarlo su piattaforme mobili (in particolare Android e forse anche altre piattaforme). Leggo che SDL ha un supporto nativo per Android, ma il gioco stesso è scritto per Windows in un primo momento, sebbene non siano state utilizzate librerie/codici dipendenti da Windows. Per quanto riguarda Android, ho usato solo l'SDK basato su Java prima e non l'ho mai integrato con il codice nativo. Quali modifiche (se ce ne sono) devo fare al C/C++ per poterlo usare sulla piattaforma Android? In che modo esattamente compilo il tutto per un APK? È possibile utilizzare Java e C/C++ per l'applicazione, voglio dire, l'attività del gioco sarà quella nativa, ma le altre attività (menu, impostazioni, ecc.) Possono essere scritte con il normale Android Java SDK?Porting di un gioco SDL 2.0 ad Android

risposta

5

Android README f Il file sorgente SDL delinea la maggior parte di ciò che è necessario sapere per quanto riguarda il porting della tua App SDL su Android. C'è anche un progetto di esempio per Eclipse che dimostra che è possibile modificare in base alle proprie esigenze.

https://hg.libsdl.org/SDL/file/d6a8fa507a45/README-android.txt

Il file README IOS è anche utile, in particolare per sezioni di eventi e di ingresso, tanto di porta sopra alla porta Android.

https://hg.libsdl.org/SDL/file/d6a8fa507a45/README-ios.txt

Se hai bisogno di aiuto per impostare correttamente l'ambiente di compilazione, controlla questo (breve) tutorial che copre l'installazione del ADK e NDK, fonte SDL, la costruzione di un progetto, la programmazione per Android e l'interfacciamento con Java.

http://www.dinomage.com/2013/01/howto-sdl-on-android/

http://www.dinomage.com/2013/05/howto-sdl-on-android-part-2-platform-details/

+0

Da quando ho scritto le domande ho continuato a leggere e la sperimentazione di questo argomento. Più tardi ho capito che la mia domanda avrebbe dovuto essere principalmente indirizzata alla differenza tra le versioni OpenGL Core ed ES. Il progetto di esempio che hanno nella SDL che hai menzionato qui ha risposto a quasi tutte le mie domande. Molte grazie! – UnTraDe

+0

I collegamenti Leggimi sono interrotti – Hubro

+0

Grazie a @ubro, ho corretto i collegamenti. –

2

(1)

non so nulla di SDL ma fintanto che si fa solo chiamate suported dal Android NDK e che cosa mai Android biblioteca supportato dovrebbe essere ok. Immagino che dovresti impostare la tua catena di strumenti in modo tale che si colleghi a SDL per Android?

(2) Sì è possibile chiamare C++ (NDK) dal Android SDK e viceversa (vedi 3)

(3+ riposo)

Vedi

https://developer.android.com/tools/sdk/ndk/index.html

Se si scarica l'NDK, è anche possibile vedere esempi su come compilare con NDK in APK