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

Programmieren von Anzeigeobjekten<br />

Im Positionierungssystem von Anzeigeobjekten wird die Bühne als kartesisches Koordinatensystem (das gewohnte<br />

Rastersystem mit einer horizontalen x- und einer vertikalen y-Achse) behandelt. Der Ursprung des<br />

Koordinatensystems (die Koordinate 0,0, an der sich die x- und y-Achse treffen), befindet sich in der oberen linken<br />

Ecke der Bühne. Von diesem Ursprungspunkt aus gehen die positiven x-Werte nach rechts und die negativen nach<br />

links, während (im Gegensatz zu typischen Graphensystemen) positive y-Werte nach unten und negative nach oben<br />

gehen. Beispielsweise wird das Objekt myShape mit den folgenden Codezeilen an die x-Koordinate 17 (17 Pixel vom<br />

Ursprungspunkt nach rechts) und die y-Koordinate 212 (212 Pixel vom Ursprungspunkt nach unten) verschoben.<br />

Standardmäßig werden die x- und y-Eigenschaften eines mit ActionScript erstellten Anzeigeobjekts auf 0 eingestellt<br />

und das Objekt somit in der oberen linken Ecke des übergeordneten Inhalts platziert.<br />

Ändern der Position relativ zur Bühne<br />

Die Eigenschaften x und y beziehen sich immer auf die Position des Anzeigeobjekts relativ zur 0,0-Koordinate der<br />

Achsen des übergeordneten Anzeigeobjekts. Bei einer Shape-Instanz (z. B. einem Kreis), die in einer Sprite-Instanz<br />

enthalten ist, platziert das Einstellen der x- und y-Eigenschaften auf Null den Kreis in der oberen linken Ecke des<br />

Sprite, die nicht unbedingt auch die obere linke Ecke der Bühne ist. Um ein Objekt relativ zu den globalen Koordinaten<br />

der Bühne zu platzieren, verwenden Sie die globalToLocal()-Methode eines Anzeigeobjekts, um die Koordinaten<br />

von globalen Koordinaten (Bühne) in lokale Koordinaten (Anzeigeobjektcontainer) umzuwandeln. Dies wird im<br />

folgenden Beispiel gezeigt:<br />

// Position the shape at the top-left corner of the Stage,<br />

// regardless of where its parent is located.<br />

// Create a Sprite, positioned at x:200 and y:200.<br />

var mySprite:Sprite = new Sprite();<br />

mySprite.x = 200;<br />

mySprite.y = 200;<br />

this.addChild(mySprite);<br />

// Draw a dot at the Sprite's 0,0 coordinate, for reference.<br />

mySprite.graphics.lineStyle(1, 0x000000);<br />

mySprite.graphics.beginFill(0x000000);<br />

mySprite.graphics.moveTo(0, 0);<br />

mySprite.graphics.lineTo(1, 0);<br />

mySprite.graphics.lineTo(1, 1);<br />

mySprite.graphics.lineTo(0, 1);<br />

mySprite.graphics.endFill();<br />

// Create the circle Shape instance.<br />

var circle:Shape = new Shape();<br />

mySprite.addChild(circle);<br />

// Draw a circle with radius 50 and center point at x:50, y:50 in the Shape.<br />

circle.graphics.lineStyle(1, 0x000000);<br />

circle.graphics.beginFill(0xff0000);<br />

circle.graphics.drawCircle(50, 50, 50);<br />

circle.graphics.endFill();<br />

// Move the Shape so its top-left corner is at the Stage's 0, 0 coordinate.<br />

var stagePoint:Point = new Point(0, 0);<br />

var targetPoint:Point = mySprite.globalToLocal(stagePoint);<br />

circle.x = targetPoint.x;<br />

circle.y = targetPoint.y;<br />

Letzte Aktualisierung 27.6.2012<br />

186

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

Saved successfully!

Ooh no, something went wrong!