15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit inverser Kinematik<br />

var ik:IKMover = new IKMover(endEffector, pos);<br />

Mit den Eigenschaften der IKMover-Klasse können Sie die Bewegung eines Skeletts einschränken. Die Bewegung lässt<br />

sich nach Entfernung, Iterationen und Zeit der Bewegung einschränken.<br />

Diese Einschränkungen werden mit den folgenden Eigenschaftspaaren erzwungen. Die Paare bestehen aus einem<br />

booleschen Wert, der angibt, ob die Bewegung eingeschränkt ist, und aus einer Ganzzahl, die die Einschränkung<br />

definiert:<br />

Boolean-Eigenschaft Integer-Eigenschaft Festgelegte Beschränkung<br />

limitByDistance:Boolean distanceLimit:int Legt die maximale Entfernung der Bewegung in Pixel fest, die das IK-<br />

Modul bei jeder Iteration durchführt.<br />

limitByIteration:Boolean iterationLimit:int Legt die maximale Anzahl der Iterationen fest, die das IK-Modul für jede<br />

Bewegung durchführt.<br />

limitByTime:Boolean timeLimit:int Legt die maximale Zeit in Millisekunden fest, die dem IK-Modul zur<br />

Durchführung der Bewegung zur Verfügung steht.<br />

Standardmäßig sind alle Boolean-Eigenschaften auf false eingestellt, die Bewegung ist also nicht eingeschränkt,<br />

sofern Sie nicht explizit einen Boolean-Wert auf true festlegen. Um eine Beschränkung festzulegen, setzen Sie die<br />

jeweilige Eigenschaft auf true und geben Sie einen Wert für die entsprechende Integer-Eigenschaft an. Wenn Sie die<br />

Einschränkung auf einen Wert festlegen, ohne jedoch die entsprechende Boolean-Eigenschaft festzulegen, wird die<br />

Einschränkung ignoriert. In diesem Fall wird das Objekt vom IK-Modul weiter bewegt, bis eine andere Einschränkung<br />

oder die Zielposition des IKMover-Objekts erreicht wird.<br />

Im folgenden Beispiel ist die maximale Entfernung der Skelettbewegung auf 0,1 Pixel pro Iteration eingestellt. Die<br />

maximale Anzahl an Iterationen für jede Bewegung beträgt 10.<br />

ik.limitByDistance = true;<br />

ik.distanceLimit = 0.1;<br />

ik.limitByIteration = true;<br />

ik.iterationLimit = 10;<br />

Bewegen eines IK-Skeletts<br />

Flash Player 10 und höher, Adobe AIR 1.5 und höher, erfordert Flash CS4 oder höher<br />

IKMover bewegt die Achse innerhalb des Ereignis-Listeners für das Rad. Bei jedem enterFrame-Ereignis des Rades<br />

wird eine neue Zielposition für das Skelett berechnet. Unter Verwendung seiner moveTo()-Methode bewegt das<br />

IKMover-Objekt das Rückgelenk an die Zielposition oder so weit wie innerhalb der Einschränkungen möglich, die von<br />

den Eigenschaften limitByDistance, limitByIteration und limitByTime vorgegeben sind.<br />

Letzte Aktualisierung 27.6.2012<br />

370

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!