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

Programmieren von Anzeigeobjekten<br />

public function addShape(shapeName:String, len:Number):void<br />

{<br />

var newShape:GeometricSprite;<br />

switch (shapeName)<br />

{<br />

case "Triangle":<br />

newShape = new TriangleSprite(len);<br />

break;<br />

}<br />

case "Square":<br />

newShape = new SquareSprite(len);<br />

break;<br />

case "Circle":<br />

newShape = new CircleSprite(len);<br />

break;<br />

}<br />

newShape.alpha = 0.8;<br />

this.addChild(newShape);<br />

Jede Konstruktormethode ruft die Methode drawShape() auf, die wiederum die graphics-Eigenschaft der Klasse<br />

verwendet (von der Sprite-Klasse geerbt), um die entsprechende Vektorgrafik zu zeichnen. Beispielsweise enthält die<br />

drawShape()-Methode der CircleSprite-Klasse den folgenden Code:<br />

this.graphics.clear();<br />

this.graphics.lineStyle(1.0, this.lineColor, 1.0);<br />

this.graphics.beginFill(this.fillColor, 1.0);<br />

var radius:Number = this.size / 2;<br />

this.graphics.drawCircle(radius, radius, radius);<br />

Die vorletzte Zeile der addShape()-Funktion stellt die alpha-Eigenschaft des Anzeigeobjekts ein (von der<br />

DisplayObject-Klasse geerbt). Jedes der Leinwand hinzugefügte Anzeigeobjekt erscheint etwas transparent und lässt<br />

den Benutzer sehen, was sich dahinter befindet.<br />

Die letzte Zeile der addChild()-Methode fügt das neue Anzeigeobjekt zur Child-Liste der Instanz der<br />

DrawingCanvas-Klasse hinzu, die sich bereits in der Anzeigeliste befindet. Dadurch wird das neue Anzeigeobjekt auf<br />

der Bühne angezeigt.<br />

Die Schnittstelle dieser Anwendung umfasst zwei Textfelder, selectedSpriteTxt und outputTxt. Die<br />

Texteigenschaften dieser Textfelder werden mit Informationen zu den GeometricSprite-Objekten aktualisiert, die der<br />

Leinwand hinzugefügt oder vom Benutzer ausgewählt wurden. Die GeometricSprite-Klasse verarbeitet diese Aufgabe<br />

zum Melden von Informationen durch Überschreiben der toString()-Methode. Dies wird im folgenden Beispiel<br />

gezeigt:<br />

public override function toString():String<br />

{<br />

return this.shapeType + " of size " + this.size + " at " + this.x + ", " + this.y;<br />

}<br />

Die Eigenschaft shapeType wird in der Konstruktormethode jeder GeometricSprite-Unterklasse auf einen geeigneten<br />

Wert gesetzt. Beispielsweise könnte die Methode toString() den folgenden Wert für eine CircleSprite-Instanz<br />

zurückgeben, die der DrawingCanvas-Instanz vor kurzem hinzugefügt wurde:<br />

Circle of size 50 at 0, 0<br />

Letzte Aktualisierung 27.6.2012<br />

220

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

Saved successfully!

Ooh no, something went wrong!