Question

J'ai cherché un moteur physique qui fonctionnera bien avec Android, mais je n'ai été que déçu.

En termes de performances, j’avais entendu dire que jbox2d était le meilleur choix, mais (à ma connaissance) depuis Android SDK V1.0, le vérificateur de la VM de Dalvik est devenu très strict et rejette certaines des classes clés et refuse de courir. Ce problème persiste après l’utilisation de l’outil dx (même si je l’utilise peut-être de manière incorrecte).

Je sais que le projet de portage AndroidBox2D existe pour optimiser jbox2d pour le ramasse-miettes Android, mais la page du projet ne contient aucun téléchargement et la licence gpl n'est pas aussi attrayante que la licence zlib de l'original.

Quelqu'un a-t-il des conseils pour faire fonctionner jbox2d dans Eclipse ou des recommandations sur les domaines dans lesquels je devrais commencer à chercher?

Était-ce utile?

La solution

Je ne sais pas pourquoi Dalvik rejetterait des classes à moins qu’elles soient masquées avec un outil. Avez-vous essayé de recompiler Box2d à partir des sources?

La seule autre librairie Java que j'ai vue est http://www.cokeandcode.com/phys2d/

Autres conseils

J'obtiens de bons résultats avec la version Java de APE en utilisant les calculs à point fixe plutôt que les flottants.

http://www.cove.org/ape/

J'ai réalisé une implémentation du moteur APE en utilisant (principalement) le calcul mathématique à point fixe, sans nettoyage des ordures. C’est un très bon moteur qui permet de faire des choses avec des contraintes mais qui semble moins adapté aux corps très rigides.

http://code.google.com/p/ape- physics-for-android /

Vous pouvez également vous renseigner sur le port NDK de Chipmunk (lien de téléchargement sur la page youtube)

http://www.youtube.com/watch?v=_i_GFjfmLTc

Regardez aussi @ Glaze, qui est optimisé pour les tableaux. Peut-être que le portage vers Java de AS3 n’est pas horrible (il a également été porté sur Haxe)

http://code.google.com/p/glaze/

Je ne suis pas sûr si jBox2D est vraiment adapté aux smartphones. Je préférerais regarder les moteurs J2ME, car ils sont hautement optimisés pour la performance, par exemple: http://emini.at

De plus, l'intégration ne devrait pas poser de problèmes.

Libgdx a JBox2D est intégré et est multi-plateforme (Android, Java Desktop, GWT Web) comme Unity, bien que ce soit gratuit et open source .

Je l’ai mise en place en 15 minutes et créais des corps de physique en un rien de temps. Le manuel de physique de Libgdx est utile à partir de là. Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top