15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit drei Dimensionen (3D)<br />

Eine lange Brennweite ist wie ein Teleobjektiv mit Nahsicht und verkürzten Entfernungen zwischen den Objekten.<br />

Eine kurze Brennweite ist wie ein Weitwinkelobjektiv, mit dem Sie einen sehr breiten Sichtbereich bei starker<br />

Objektverzerrung erhalten. Eine mittlere Brennweite entspricht in etwa dem, was das menschliche Auge sehen kann.<br />

Typischerweise wird die focalLength-Eigenschaft während der perspektivischen Transformation dynamisch neu<br />

berechnet, während sich das Anzeigeobjekt bewegt. Sie können den Wert aber auch explizit festlegen.<br />

Standardwerte für die perspektivische Projektion<br />

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

Das im Stammelement angelegte PerspectiveProjection-Standardobjekt besitzt die folgenden Werte:<br />

fieldOfView: 55<br />

perspectiveCenter: stagewidth/2, stageHeight/2<br />

focalLength: stageWidth/ 2 * ( cos(fieldOfView/2) / sin(fieldOfView/2) )<br />

Diese Werte werden verwendet, wenn Sie nicht Ihr eigenes PerspectiveProjection-Objekt erstellen.<br />

Sie können aber auch Ihr eigenes PerspectiveProjection-Objekt instanziieren und die Eigenschaften<br />

projectionCenter und fieldOfView selbst festlegen. In diesem Fall sind die Standardwerte des neu erstellten<br />

Objekts wie folgt, basierend auf einer Standardbühnengröße von 500 auf 500:<br />

fieldOfView: 55<br />

perspectiveCenter: 250,250<br />

focalLength: 480.24554443359375<br />

Beispiel: Perspektivische Projektion<br />

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

Im folgenden Beispiel wird der Einsatz der perspektivischen Projektion zur Schaffung eines dreidimensionalen Raums<br />

veranschaulicht. Es wird gezeigt, wie Sie mit der projectionCenter-Eigenschaft den Fluchtpunkt und die<br />

perspektivische Projektion des Raums ändern können. Diese Änderung erzwingt eine Neuberechnung der Brennweite<br />

(focalLength) und des Sichtfeldes (fieldOfView) bei gleichzeitiger Verzerrung des 3D-Raums.<br />

In diesem Beispiel geschieht Folgendes:<br />

1 Erstellung eines Sprite-Objekts mit dem Namen center als Kreis mit einem Fadenkreuz<br />

2 Zuweisung der Koordinaten des Sprite-Objekts center zur projectionCenter-Eigenschaft der<br />

perspectiveProjection-Eigenschaft der transform-Eigenschaft des Stammelements<br />

3 Definieren von Ereignis-Listenern für mehrere Mausereignisse, die Prozeduren aufrufen, die das<br />

projectionCenter so ändern, dass es der Position des Objekts center entspricht<br />

4 Erstellen von Rechtecken im Akkordeonstil, die die Wände des Perspektivraums bilden<br />

Wenn Sie das Beispiel, ProjectionDragger.swf, testen, sollten Sie den Kreis auf verschiedene Positionen ziehen. Der<br />

Fluchtpunkt folgt dem Kreis und wird an der Position des Mauscursors abgesetzt, wenn Sie die Maustaste loslassen.<br />

Die Rechtecke, die den Raum umschließen, werden gestreckt und verzerrt, wenn Sie die Projektionsmitte weit von der<br />

Bühnenmitte entfernt absetzen.<br />

Letzte Aktualisierung 27.6.2012<br />

380

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

Saved successfully!

Ooh no, something went wrong!