2009-06-23 7 views
20

Ich habe mich nach einer Physik-Engine umgeschaut, die gut mit Android spielen wird, aber ich wurde nur enttäuscht.Gibt es anständige Physik-Engines für Android?

In Bezug auf die Leistung hatte ich gehört, dass Jbox2D war die beste Wette, aber (von meinem Verständnis) seit Android SDK V1.0, der Verifikator der Dalvik VM ist sehr streng geworden und lehnt einige der wichtigsten Klassen und lehnt ab zu rennen. Dieses Problem besteht nach der Verwendung des DX-Tools (obwohl ich das Tool möglicherweise nicht ordnungsgemäß verwenden würde).

Ich weiß, dass das AndroidBox2D Portierungsprojekt existiert, um jbox2d für den Android Garbage Collector zu optimieren, aber die Projektseite hat keine Downloads und die GPL Lizenz ist nicht so attraktiv wie die ZLIB Lizenz des Originals.

Hat jemand irgendwelche Tipps, um jbox2d in Eclipse arbeiten zu lassen, oder habe ich irgendwelche Empfehlungen, wo ich anfangen sollte?

+0

Nun, da das NDK heraus ist, war diese abox2d (android NDK-Version von Box2D) wahnsinnig einfach zu arbeiten: http://groups.google.com/group/android-ndk/browse_thread/thread/10f2e02c5d6857cb?pli = 1 Aber beachten Sie, dass Sie ein paar Header hinzufügen müssen, wenn Sie unter Linux entwickeln – Marc

+2

Seit ich diese Frage gestellt habe, hat AndEngine eine Menge Fortschritte gemacht. Vielleicht möchten Sie es hier überprüfen: http://code.google.com/p/andengine/ – Marc

+0

Abstimmung zum Schließen als Werkzeug rec. –

Antwort

3

Ich weiß nicht, warum Dalvik Klassen ablehnen würde, wenn sie nicht mit irgendeinem Werkzeug verschleiert wurden. Haben Sie versucht, Box2d von der Quelle neu zu kompilieren?

Die einzige andere Java lib ich gesehen habe, ist http://www.cokeandcode.com/phys2d/

+0

Von dem, was ich in Foren gesammelt habe, lehnt Dalvik die Klassen aufgrund von Sicherheitsbeschränkungen ab. Und yup, kompiliert aus der Quelle gibt das gleiche. Aber Box2d scheint zu funktionieren (bisher läuft der Springtest ohne Rendering). Danke – Marc

0

Ich bin mir nicht sicher, ob jBox2D wirklich für Smartphones geeignet ist. Ich würde eher J2ME-Motoren betrachten, da sie für die Leistung hoch optimiert sind - z. B. http://emini.at

Auch sollten Sie keine Probleme mit der Integration haben.

+0

J2ME wird standardmäßig nicht funktionieren, aber es könnte tragbar sein ... –

2

Ich bekomme gute Ergebnisse mit der Java-Version von APE mit Festkommazahlen statt Floats. mit (meist) Fixpunkt math

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

0

LibgdxJBox2D in gebaut und ist Cross-Plattform (Android, Java Desktop, GWT Web) wie Unity, tho ist es kostenlos und open source.

Ich habe es in 15 Minuten eingerichtet und schuf Physikkörper in kürzester Zeit. Die Libgdx physics manual hilft von dort. Viel Glück!