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 />

Wheel.addEventListener(Event.ENTER_FRAME, frameFunc);<br />

function frameFunc(event:Event)<br />

{<br />

if (Wheel != null)<br />

{<br />

var mat:Matrix = Wheel.transform.matrix;<br />

var pt = new Point(90,0);<br />

pt = mat.transformPoint(pt);<br />

}<br />

}<br />

ik.moveTo(pt);<br />

Verwenden von Federn<br />

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

Die inverse Kinematik in Flash Professional CS5 unterstützt die Bone-Federung. Die Bone-Federung kann beim<br />

Authoring festgelegt werden. Attribute für Bone-Federn können zur Laufzeit hinzugefügt oder geändert werden. Die<br />

Spring-Eigenschaft gilt für einen Bone und seine Gelenke. Sie hat zwei Attribute: IKJoint.springStrength definiert<br />

die Stärke der Federung, während IKJoint.springDamping der Federungsstärke einen Widerstand entgegensetzt<br />

und sich auf die Abschwächung der Federung auswirkt.<br />

Die Federungsstärke hat einen Wert von 0-100 %. Beim Standardwert 0 wird eine völlig starre Feder verwendet,<br />

während beim Wert 100 eine sehr lose Feder angewendet wird, die durch physikalische Eigenschaften gesteuert wird.<br />

Bones mit Federn reagieren auf die Bewegung ihrer Gelenke. Wenn keine andere Versetzung (Drehung in x- oder y-<br />

Richtung) aktiviert ist, haben die Federeinstellungen keine Auswirkungen.<br />

Die Federdämpfung hat einen Wert von 0-100 %. Beim Standardwert 0 wird kein Widerstand angewendet, während<br />

beim Wert 100 eine starke Dämpfung auf die Feder wirkt. Die Dämpfung wirkt sich darauf aus, wie lange es dauert,<br />

bis ein Bone nach dem Bewegungsanfang zur Ruheposition zurückkehrt.<br />

Anhand der IKArmature.springsEnabled-Eigenschaft können Sie überprüfen, ob Federn für ein IKArmature-<br />

Objekt aktiviert sind. Die anderen Federeigenschaften und -methoden gehören zu individuellen IKJoint-Objekten.<br />

Ein Gelenk kann für eine Winkeldrehung und für das Versetzen entlang der x- und y-Achsen aktiviert werden. Der<br />

Drehungswinkel für eine Gelenkfeder kann über IKJoint.setSpringAngle festgelegt werden, die Versatzposition<br />

über IKJoint.setSpringPt.<br />

In diesem Beispiel wird ein Bone anhand seines Namens ausgewählt und die tailJoint-Eigenschaft wird identifiziert.<br />

Der Code testet das übergeordnete Skelett, um festzustellen, ob Federn aktiviert sind. Dann werden die<br />

Federeigenschaften für das Gelenk festgelegt.<br />

var arm:IKArmature = IKManager.getArmatureAt(0);<br />

var bone:IKBone = arm.getBoneByName("c");<br />

var joint:IKJoint = bone.tailJoint;<br />

if (arm.springsEnabled) {<br />

joint.springStrength = 50; //medium spring strength<br />

joint.springDamping = 10; //light damping resistance<br />

if (joint.hasSpringAngle) {<br />

joint.setSpringAngle(30); //set angle for rotational spring<br />

}<br />

}<br />

Letzte Aktualisierung 27.6.2012<br />

371

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

Saved successfully!

Ooh no, something went wrong!