2009-07-22 17 views
2

Wenn Sie ein iPhone GUI-Element wie eine Liste ziehen, scrollt es physikalisch korrekt und hat am Ende auch einen schönen Bounce-Effekt. Ich möchte ein GUI-Element in meinem Spiel schreiben, ohne UIKit zu verwenden. Ich frage mich, wo ist der Code, der dies implementiert, und wenn ich es verwenden kann, anstatt zu versuchen, etwas ähnliches zu schreiben. Irgendwelche Ideen?Iphone GUI Physik Code

Antwort

0

Sie können vielleicht Animationen verwenden, um dies zu erreichen, können Sie Animationswege für Bouncing oder tun was auch immer Sie benötigen definieren und aktivieren Sie sie bei Bedarf. Ich denke, dass das Beispielprojekt MoveMe Ihnen helfen kann

0

Ich kann das O'Reilly Buch "Physics for Game Developers" von David Bourg empfehlen, das große Abdeckung von Algorithmen und Code für alle Arten von Simulationen bietet. Sie möchten wahrscheinlich mit der Bewegung beginnen, die durch Ziehen für die Bewegung und langsames Verlangsamen beeinflusst wird, und dann ein Federmodell betrachten, um die Dämpfung am Ende zu simulieren.

0

box2d ist ein Open-Source-Projekt, das eine großartige 2d-Physik-Engine bietet. Diese Bibliothek wird von Intel Clutter verwendet, einer netten physikorientierten UI-Bibliothek, die auf mobilen Geräten ausgeführt werden kann. das bedeutet, dass box2d bereits für mobile Plattformen wie das iphone optimiert ist.

+1

Box2D werden Sie nicht einen Effekt wie das geben. Sie würden Box2D nicht verwenden, es sei denn, Sie wären damit einverstanden, dass die Menüelemente einzeln zu einem großen Heap zusammenfallen. Es ist gut darin. –

1

Ich denke, dass eine Physik-Engine zuviel für das Animieren eines GUI-Elements wäre (es sei denn, Sie haben bereits eine Physik-Engine in Ihrem Spiel).

Sie könnten versuchen, Animationen zu verwenden, aber ich habe keine Erfahrung, dies ohne UIKit zu tun, aber ich nehme an, Sie würden here starten?

Wenn Sie nicht Core Animation verwenden wollten, würde ich einen Blick auf Robert Penner's easing equations werfen - sie sind in ActionScript, aber sind ziemlich einfach zu C portieren und wäre ein guter Start, um Ihren eigenen Animationscode zu starten.

hoffe, das hilft,

Sam