-
Jeux Android C ou C++
bonjour à tous...Depuis maintenant 2 et plus je programme en java ,j'ai fait du Js + html5 +css et les base en C (abandonné une fois avoire compris les pointeur).
Cependant j'ai des projets de type jeux en android que je voudrais realiser et je me dit que le mieux est que j'utilise du code native.
J'esiste entre le C et le C++ sachant que depuis une semaine j'essaie de me remettre au C mais je n'y arrive pas car je trouve que les language fonctionnels
sont terriblement fastidieux à comprendre et j'ai aussi pris l'abitude du langage objet.
J'abandonne le JAVA sous android car j'ai une très mauvaise experience avec les moteurs de jeux qui sont soit beugé ou non a jour...
j'attends avec impatience vos reponse...
Merci d'avance.
-
Le "code natif" d'Android EST du java...
Quels sont les moteurs de jeux que tu as essayé ?
Axel
-
Il faut distinguer plusieurs niveaux:
Le niveau "Linux" avec ses drivers (là c'est du C, voir C++)
Le niveau "Android" (le framework basé sur Linux) et là c'est du Java.
Du coup une application commence obligatoirement par une JVM (Dalvik ou autre) basée sur Java. Mais rien n'empêche l'application de déclarer n'avoir "aucun code" et une seule activité: NativeActivity.
La discussion avec le framework (Intents, broadcasts, events) se fait alors par JNI, et le code de l'application peut être écrit en C (ou C++).
Après, je ne sais pas comment ça se comporte au niveau choix des ABI (n'ayant jamais utilisé que ARMEABI).
-
Les moteurs de jeux que j'ai utiliser etait Andengine... qui ne me trouvais les images dans le(s) réservé a cette effet(chemin abstrait ou complet) ou qui ne m'affichait pas les image charger lors de l'execution de l'application et d'autres petit soucis que ne me vienne pas sur le coup mais present.
J'ai aussi utiliser libGdx et la j'ai eu un total probleme est la l'extention Box2d...Va savoir j'ai suivie pas mal de tutoriel et la j'ai un ecran noire quand je verifie la fonctionnalité du code...
meme les tutos de youtube ne fonctionne pas.
D'ou mon petit degout.