Paketflash.display
Klassepublic final class Graphics
VererbungGraphics Inheritance Object

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die Graphics-Klasse enthält einen Satz an Methoden, mit denen Sie eine Vektorform erstellen können. Anzeigeobjekte, die das Zeichnen unterstützen, enthalten Sprite- und Shape-Objekte. Jede dieser Klassen enthält eine graphics-Eigenschaft, die ein Graphics-Objekt darstellt. Die folgenden Funktionen sind Hilfsfunktionen, die eine einfache Verwendung ermöglichen sollen: drawRect(), drawRoundRect(), drawCircle() und drawEllipse().

Sie können ein Graphics-Objekt nicht direkt aus ActionScript-Code erstellen. Wenn Sie new Graphics() aufrufen, wird eine Ausnahme ausgelöst.

Die Graphics-Klasse ist endgültig, d. h., aus ihr können keine Unterklassen abgeleitet werden.

Beispiele anzeigen

Siehe auch

Grundlagen der Verwendung der Zeichnungs-API


Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
Öffentliche Methoden
 MethodeDefiniert von
  
beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Füllt einen Zeichenbereich mit einer Bitmap.
Graphics
  
beginFill(color:uint, alpha:Number = 1.0):void
Legt eine einfache einfarbige Füllung fest, die Flash Player für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. "lineTo()" oder "drawCircle()").
Graphics
  
beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Legt eine Farbverlaufsfüllung fest, die Flash Player für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. "lineTo()" oder "drawCircle()").
Graphics
  
Löscht die Grafiken, die für dieses Graphics-Objekt gezeichnet worden sind, und setzt die Einstellungen für den Füll- und Linienstil zurück.
Graphics
  
curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void
Zeichnet eine Kurve im aktuellen Linienstil von der aktuellen Zeichnungsposition zu (anchorX, anchorY) unter Verwendung des durch (controlX, controlY) angegebenen Steuerpunkts.
Graphics
  
Zeichnet einen Kreis.
Graphics
  
drawEllipse(x:Number, y:Number, width:Number, height:Number):void
Zeichnet eine Ellipse.
Graphics
  
drawRect(x:Number, y:Number, width:Number, height:Number):void
Zeichnet ein Rechteck.
Graphics
  
drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number):void
Zeichnet ein abgerundetes Rechteck.
Graphics
  
Versieht die Linien und Kurven, die seit dem letzten Aufruf der Methode "beginFill()", "beginGradientFill()" oder "beginBitmapFill()" hinzugefügt wurden, mit einer Füllung.
Graphics
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
lineGradientStyle(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Legt einen Farbverlauf für den Linienstil fest, die Flash Player für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. "lineTo()" oder "drawCircle()").
Graphics
  
lineStyle(thickness:Number, color:uint = 0, alpha:Number = 1.0, pixelHinting:Boolean = false, scaleMode:String = "normal", caps:String = null, joints:String = null, miterLimit:Number = 3):void
Legt einen Linienstil fest, den Flash Player für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. "lineTo()" oder "drawCircle()").
Graphics
  
Zeichnet eine Linie im aktuellen Linienstil von der aktuellen Zeichnungsposition zu (x, y). Die aktuelle Zeichnungsposition wird dann auf (x, y) gesetzt.
Graphics
  
Verschiebt die aktuelle Zeichnungsposition auf (x, y).
Graphics
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Methodendetail
beginBitmapFill()Methode
public function beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Füllt einen Zeichenbereich mit einer Bitmap. Um den Bereich zu füllen, kann das Bild wiederholt oder mehrfach neben- und untereinander angeordnet werden. Die Füllung bleibt wirksam, bis Sie eine der Methoden beginFill(), beginBitmapFill() oder beginGradientFill() aufrufen. Durch das Aufrufen der clear()-Methode wird die Füllung gelöscht.

Flash Player rendert die Füllung erst, wenn die endFill()-Methode aufgerufen wird.

Parameter

bitmap:BitmapData — Eine transparente oder undurchsichtige Bitmap, die die anzuzeigenden Bits enthält.
 
matrix:Matrix (default = null) — Ein Matrix-Objekt (der flash.geom.Matrix-Klasse), mit dem Sie Transformationen an der Bitmap definieren können. Die folgende Matrix können Sie beispielsweise verwenden, um eine Bitmap um 45 Grad (pi/4 rad) zu drehen:
  matrix = new flash.geom.Matrix(); 
  matrix.rotate(Math.PI/4);
  
 
repeat:Boolean (default = true) — Wenn true eingestellt ist, wird die Bitmap in einem Kachelmuster wiederholt. Bei false wird die Bitmap nicht wiederholt, und die Kanten der Bitmap werden für alle Füllbereiche verwendet, die über die Bitmap hinausgehen.

Nehmen Sie die folgende Bitmap (ein Schachbrettmuster im Format 20 x 20 Pixel) als Beispiel:

Ist repeat auf true gesetzt (wie im folgenden Beispiel), wiederholt die Bitmap-Füllung die Bitmap:

Ist repeat auf false gesetzt, nutzt die Bitmap-Füllung die Randpixel für den Füllbereich außerhalb der Bitmap:

 
smooth:Boolean (default = false) — Wenn false eingestellt ist, werden aufwärts skalierte Bilder mithilfe des "Nächster-Nachbar-Algorithmus" wiedergegeben. Meist sind dann die einzelnen Pixelpunkte zu sehen. Wenn true eingestellt ist, werden aufwärts skalierte Bilder anhand eines bilinearen Algorithmus wiedergegeben. Eine Wiedergabe anhand des "Nächster-Nachbar-Algorithmus" ist in der Regel schneller.

Siehe auch


Beispiel

Im folgenden Beispiel wird ein Bild (image1.jpg) gedreht und wiederholt, um ein Rechteck auszufüllen.
  1. Die Bilddatei (image1.jpg) wird mithilfe der Loader- und URLRequest-Objekte geladen. Hier befindet sich die Datei im selben Verzeichnis wie die SWF-Datei. Bei der Kompilierung der SWF-Datei muss "Sicherheit bei lokaler Wiedergabe" auf "Nur auf lokale Dateien zugreifen" eingestellt sein.
  2. Nachdem das Bild geladen wurde (Event ist abgeschlossen), wird die Methode drawImage() aufgerufen. Die Methode ioErrorHandler() schreibt einen Nachverfolgungskommentar, wenn das Bild nicht richtig geladen wird.
  3. In der Methode drawImage() wird ein BitmapData-Objekt instanziiert, und seine Breite und Höhe werden an das Bild (image1.jpg) angepasst. Das Quellbild wird dann in das BitmapData-Objekt gezeichnet. Als Nächstes wird ein Rechteck in das Sprite-Objekt mySprite gezeichnet und mit dem BitmapData-Objekt gefüllt. Mithilfe eines Matrix-Objekts dreht die Methode beginBitmapFill() das Bild um 45 Grad und füllt das Rechteck dann mit dem Bild.
package {
    import flash.display.Sprite;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.geom.Matrix;

    public class Graphics_beginBitmapFillExample extends Sprite {
 
        private var url:String = "image1.jpg";
        private var loader:Loader = new Loader();

        public function Graphics_beginBitmapFillExample() {

            var request:URLRequest = new URLRequest(url);
            
            loader.load(request);
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, drawImage);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        }

        private function drawImage(event:Event):void {

            var mySprite:Sprite = new Sprite();
            var myBitmap:BitmapData = new BitmapData(loader.width, loader.height, false);
  
            myBitmap.draw(loader, new Matrix());
            
            var matrix:Matrix = new Matrix();
            matrix.rotate(Math.PI/4);
            
            mySprite.graphics.beginBitmapFill(myBitmap, matrix, true);
            mySprite.graphics.drawRect(100, 50, 200, 90);
            mySprite.graphics.endFill();
            
            addChild(mySprite);
        }
 
         private function ioErrorHandler(event:IOErrorEvent):void {
            trace("Unable to load image: " + url);
        }
    }   
}
beginFill()Methode 
public function beginFill(color:uint, alpha:Number = 1.0):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Legt eine einfache einfarbige Füllung fest, die Flash Player für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. lineTo() oder drawCircle()). Die Füllung bleibt wirksam, bis Sie eine der Methoden beginFill(), beginBitmapFill() oder beginGradientFill() aufrufen. Durch das Aufrufen der clear()-Methode wird die Füllung gelöscht.

Flash Player rendert die Füllung erst, wenn die endFill()-Methode aufgerufen wird.

Parameter

color:uint — Die Farbe der Füllung (0xRRGGBB).
 
alpha:Number (default = 1.0) — Der Alphawert der Füllung (0,0 bis 1,0).

Siehe auch


Beispiel
Verwendung von Beispielen
Am Ende des Abschnitts über diese Klasse finden Sie in Beispiel , in dem die Verwendung dieser Methode veranschaulicht wird.
beginGradientFill()Methode 
public function beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Legt eine Farbverlaufsfüllung fest, die Flash Player für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. lineTo() oder drawCircle()). Die Füllung bleibt wirksam, bis Sie eine der Methoden beginFill(), beginBitmapFill() oder beginGradientFill() aufrufen. Durch das Aufrufen der clear()-Methode wird die Füllung gelöscht.

Flash Player rendert die Füllung erst, wenn die endFill()-Methode aufgerufen wird.

Parameter

type:String — Ein Wert aus der GradientType-Klasse, mit dem angegeben wird, welcher Farbverlaufstyp verwendet werden soll: GradientType.LINEAR oder GradientType.RADIAL.
 
colors:Array — Ein Array mit hexadezimalen RGB-Farbwerten, die im Farbverlauf verwendet werden sollen (beispielsweise 0xFF0000 für Rot, 0x0000FF für Blau usw.). Sie können bis zu 15 Farben angeben. Definieren Sie auf jeden Fall für jede Farbe einen entsprechenden Wert in den Parametern "alphas" und "ratios".
 
alphas:Array — Ein Array mit Alphawerten für die entsprechenden Farben im Array "colors". Gültig sind Werte von 0 bis 1. Ist der Wert kleiner als 0, ist der Standardwert 0. Ist der Wert größer als 1, ist der Standardwert 1.
 
ratios:Array — Ein Array mit Farbverteilungsverhältnissen. Die zulässigen Werte liegen zwischen 0 und 255. Dieser Wert gibt den Breitenanteil an, in dem die Farbe mit 100 % gesampelt wird. Der Wert 0 repräsentiert die linke Position im Farbverlaufsfeld, und 255 repräsentiert die rechte Position im Farbverlaufsfeld.

Hinweis: Dieser Wert repräsentiert Positionen im Farbverlaufsfeld, nicht im Koordinatenraum des endgültigen Farbverlaufs, der breiter oder schmaler als das Farbverlaufsfeld sein kann. Geben Sie für jeden Wert im Parameter colors einen Wert an.

Die folgende Abbildung zeigt für einen linearen Verlauf mit den beiden Farben Blau und Grün die Farbplatzierung im Verlauf basierend auf den verschiedenen Werten im ratios-Array an:

ratiosFarbverlauf
[0, 127]
[0, 255]
[127, 255]

Die Werte im Array müssen sich sequenziell erhöhen. Beispiel: [0, 63, 127, 190, 255].

 
matrix:Matrix (default = null) — Eine Transformationsmatrix, wie sie von der flash.geom.Matrix-Klasse definiert wird. Die flash.geom.Matrix-Klasse umfasst eine createGradientBox()-Methode, mit der Sie die Matrix zur Verwendung mit der beginGradientFill()-Methode auf einfache Weise festlegen können.
 
spreadMethod:String (default = "pad") — Ein Wert aus der SpreadMethod-Klasse, der festlegt, welche Auftragstärke zu verwenden ist: SpreadMethod.PAD, SpreadMethod.REFLECT oder SpreadMethod.REPEAT.

Angenommen, Sie haben einen einfachen linearen Farbverlauf zwischen zwei Farben:

  import flash.geom.*
  import flash.display.*
  var fillType:String = GradientType.LINEAR;
  var colors:Array = [0xFF0000, 0x0000FF];
  var alphas:Array = [1, 1];
  var ratios:Array = [0x00, 0xFF];
  var matr:Matrix = new Matrix();
  matr.createGradientBox(20, 20, 0, 0, 0);
  var spreadMethod:String = SpreadMethod.PAD;
  this.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod);  
  this.graphics.drawRect(0,0,100,100);
  

Dieses Beispiel verwendet SpreadMethod.PAD als Methode für die Auftragstärke, und der Farbverlauf sieht folgendermaßen aus:

Mit der Auftragstärke SpreadMethod.REFLECT sieht die Farbverlaufsfüllung folgendermaßen aus:

Mit der Auftragstärke SpreadMethod.REPEAT sieht die Farbverlaufsfüllung folgendermaßen aus:

 
interpolationMethod:String (default = "rgb") — Ein Wert aus der InterpolationMethod-Klasse, der festlegt, welcher Wert zu verwenden ist: InterpolationMethod.linearRGB oder InterpolationMethod.RGB.

Angenommen, Sie haben einen einfachen linearen Farbverlauf zwischen zwei Farben (wobei der Parameter spreadMethod auf SpreadMethod.REFLECT gesetzt ist). Die verschiedenen Interpolationsmethoden haben folgende Auswirkung auf die Darstellung des Farbverlaufs:

InterpolationMethod.LINEAR_RGBInterpolationMethod.RGB
 
focalPointRatio:Number (default = 0) — Eine Zahl, die die Position des Farbverlaufsbrennpunkts steuert. Der Wert 0 bedeutet, dass der Brennpunkt in der Mitte liegt. Der Wert 1 bedeutet, dass der Brennpunkt an einem Rand des Farbverlaufskreises liegt. Der Wert -1 bedeutet, dass der Brennpunkt am anderen Rand des Farbverlaufskreises liegt. Werte, die kleiner als -1 oder größer als 1 sind, werden auf -1 bzw. 1 gerundet. Im folgenden Beispiel ist focalPointRatio z. B. auf 0,75 gesetzt:


Auslöser
ArgumentError — Wenn der Parameter type nicht gültig ist.

Siehe auch

clear()Methode 
public function clear():void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Löscht die Grafiken, die für dieses Graphics-Objekt gezeichnet worden sind, und setzt die Einstellungen für den Füll- und Linienstil zurück.

curveTo()Methode 
public function curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Zeichnet eine Kurve im aktuellen Linienstil von der aktuellen Zeichnungsposition zu (anchorX, anchorY) unter Verwendung des durch (controlX, controlY) angegebenen Steuerpunkts. Die aktuelle Zeichnungsposition wird dann auf (anchorX, anchorY) gesetzt. Wenn der Movieclip, in dem Sie zeichnen, einen mit den Flash-Zeichenwerkzeugen erstellten Inhalt enthält, werden die Ergebnisse von Aufrufen der curveTo()-Methode unterhalb dieses Inhalts gezeichnet. Wenn Sie die curveTo()-Methode vor der moveTo()-Methode aufrufen, ist der Standardwert der aktuellen Zeichnungsposition (0, 0). Wenn ein Parameter fehlt, schlägt die Ausführung dieser Methode fehl, und die aktuelle Zeichnungsposition wird beibehalten.

Die gezeichnete Kurve ist eine quadratische Bézierkurve. Quadratische Bézierkurven bestehen aus zwei Ankerpunkten und einem Steuerpunkt. Die Kurve interpoliert die zwei Ankerpunkte und neigt sich zum Steuerpunkt hin.

Parameter

controlX:Number — Eine Zahl, die eine horizontale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt.
 
controlY:Number — Eine Zahl, die eine vertikale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt.
 
anchorX:Number — Eine Zahl, die eine horizontale Position des nächsten Ankerpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt.
 
anchorY:Number — Eine Zahl, die eine vertikale Position des nächsten Ankerpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt.


Beispiel

Im folgenden Beispiel wird ein grünes kreisförmiges Objekt mit einer Breite und Höhe von 100 Pixel an der Position 250 Pixel rechts vom Registrierungspunkt (0, 0) des Sprite-Anzeigeobjekts gezeichnet.

Zeichnen Sie vier Kurven, um einen Kreis zu erzeugen, und füllen Sie ihn grün aus.

Beachten Sie, dass aufgrund der Beschaffenheit der quadratischen Bezier-Gleichung kein perfekter Kreis entsteht. Am besten zeichnen Sie einen Kreis mit der Methode drawCircle() der Graphics-Klasse.

package {
    import flash.display.Sprite;
    import flash.display.Shape;
    
    public class Graphics_curveToExample1 extends Sprite
    {
        public function Graphics_curveToExample1():void
        {
            var roundObject:Shape = new Shape();

            roundObject.graphics.beginFill(0x00FF00);
            roundObject.graphics.moveTo(250, 0);
            roundObject.graphics.curveTo(300, 0, 300, 50);
            roundObject.graphics.curveTo(300, 100, 250, 100);
            roundObject.graphics.curveTo(200, 100, 200, 50);
            roundObject.graphics.curveTo(200, 0, 250, 0);
            roundObject.graphics.endFill();
            
            this.addChild(roundObject);
        }
    }
}

Im folgenden Beispiel wird mithilfe der Methode curveTo() ein Neumond gezeichnet.

Es werden zwei Kurven mit einer Linienstärke von 1 Pixel gezeichnet und der Raum zwischen den Kurven wird weiß ausgefüllt. Mit der Methode moveTo() wird die aktuelle Zeichenposition auf die Koordinaten (100, 100) festgelegt. Die erste Kurve verschiebt die Zeichenposition auf (100, 200), den Zielpunkt der Kurve. Die zweite Kurve bringt die Position zurück zum Startpunkt (100, 100), der zugleich der Zielpunkt der zweiten Kurve ist. Die horizontalen Steuerpunkte bestimmten die unterschiedlichen Kurvengrößen.

package {
    import flash.display.Sprite;
    import flash.display.Shape;

    public class Graphics_curveToExample2 extends Sprite
    {
        public function Graphics_curveToExample2() {
            var newMoon:Shape = new Shape();
            
            newMoon.graphics.lineStyle(1, 0);
            newMoon.graphics.beginFill(0xFFFFFF);
            newMoon.graphics.moveTo(100, 100); 
            newMoon.graphics.curveTo(30, 150, 100, 200);    
            newMoon.graphics.curveTo(50, 150, 100, 100);
            graphics.endFill();
            
            this.addChild(newMoon);
        }
    }
}
drawCircle()Methode 
public function drawCircle(x:Number, y:Number, radius:Number):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Zeichnet einen Kreis. Sie müssen den Linienstil oder die Füllung oder beides setzen, bevor Sie die drawCircle()-Methode aufrufen. Dazu rufen Sie die Methode linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() oder beginBitmapFill() auf.

Parameter

x:Number — Die x-Position des Kreismittelpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts (in Pixel).
 
y:Number — Die y-Position des Kreismittelpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts (in Pixel).
 
radius:Number — Der Radius des Kreises (in Pixel).

Siehe auch


Beispiel
Verwendung von Beispielen
Am Ende des Abschnitts über diese Klasse finden Sie in Beispiel , in dem die Verwendung dieser Methode veranschaulicht wird.
drawEllipse()Methode 
public function drawEllipse(x:Number, y:Number, width:Number, height:Number):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Zeichnet eine Ellipse. Sie müssen den Linienstil oder die Füllung oder beides setzen, bevor Sie die drawEllipse()-Methode aufrufen. Dazu rufen Sie die Methode linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() oder beginBitmapFill() auf.

Parameter

x:Number — Die x-Position des Ellipsenmittelpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts (in Pixel).
 
y:Number — Die y-Position des Ellipsenmittelpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts (in Pixel).
 
width:Number — Die Breite der Ellipse (in Pixel).
 
height:Number — Die Höhe der Ellipse (in Pixel).

Siehe auch


Beispiel

Im folgenden Beispiel werden mithilfe der Funktion drawEgg() drei unterschiedlich große Eier (drei Ellipsen verschiedener Größe) gezeichnet. Die Größe ist vom Parameter eggSize abhängig.
  1. Der Konstruktor ruft die Funktion drawEgg() auf und übergibt die horizontalen und vertikalen Parameter für die Position, an der das Ei gezeichnet werden soll, sowie den Typ des Eis (eggSize). (Die Höhe und Breite der Eier (der Ellipsen) kann verwendet werden, um festzulegen, wo sie angezeigt werden.)
  2. Die Funktion drawEgg() zeichnet die Ellipsen unterschiedlicher Größe und füllt sie mithilfe der Methode beginFill(). Für diese Funktion wurde keine erweiterte Fehlerverarbeitung geschrieben.
package {
    import flash.display.Sprite;
    import flash.display.Shape;

    public class Graphics_drawEllipseExample extends Sprite
    {
        public static const SMALL:uint = 0;
        public static const MEDIUM:uint = 1;
        public static const LARGE:uint = 2;

        public function Graphics_drawEllipseExample()
        {
            drawEgg(SMALL, 0, 100);
            drawEgg(MEDIUM, 100, 60);
            drawEgg(LARGE, 250, 35);    
        }

        public function drawEgg(eggSize:uint, x:Number, y:Number):void  {
            
            var myEgg:Shape = new Shape();
            
            myEgg.graphics.beginFill(0xFFFFFF);
            myEgg.graphics.lineStyle(1);

            switch(eggSize) {
                case SMALL:
                    myEgg.graphics.drawEllipse(x, y, 60, 70);
                    break;
                case MEDIUM:
                    myEgg.graphics.drawEllipse(x, y, 120, 150);    
                    break;
                case LARGE:
                    myEgg.graphics.drawEllipse(x, y, 150, 200);
                    break;
                default:
                    trace ("Wrong size! There is no egg.");
                break;            
            }
            
            myEgg.graphics.endFill();
    
            this.addChild(myEgg);
        }
    }
}
drawRect()Methode 
public function drawRect(x:Number, y:Number, width:Number, height:Number):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Zeichnet ein Rechteck. Sie müssen den Linienstil oder die Füllung oder beides setzen, bevor Sie die drawRect()-Methode aufrufen. Dazu rufen Sie die Methode linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() oder beginBitmapFill() auf.

Parameter

x:Number — Eine Ganzzahl, die die horizontale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).
 
y:Number — Eine Ganzzahl, die die vertikale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).
 
width:Number — Die Breite des Rechtecks (in Pixel).
 
height:Number — Die Höhe des Rechtecks (in Pixel).


Auslöser
ArgumentError — Wenn der Parameter width oder height etwas anderes als eine Zahl enthält (Number.NaN).

Siehe auch


Beispiel
Verwendung von Beispielen
Am Ende des Abschnitts über diese Klasse finden Sie in Beispiel , in dem die Verwendung dieser Methode veranschaulicht wird.
drawRoundRect()Methode 
public function drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Zeichnet ein abgerundetes Rechteck. Sie müssen den Linienstil oder die Füllung oder beides setzen, bevor Sie die drawRoundRect()-Methode aufrufen. Dazu rufen Sie die Methode linestyle(), lineGradientStyle(), beginFill(), beginGradientFill() oder beginBitmapFill() auf.

Parameter

x:Number — Eine Ganzzahl, die die horizontale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).
 
y:Number — Eine Ganzzahl, die die vertikale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).
 
width:Number — Die Breite des abgerundeten Rechtecks (in Pixel).
 
height:Number — Die Höhe des abgerundeten Rechtecks (in Pixel).
 
ellipseWidth:Number — Die Breite der Ellipse, die zum Zeichnen der abgerundeten Ecken verwendet wird (in Pixel).
 
ellipseHeight:Number — Die Höhe der Ellipse, die zum Zeichnen der abgerundeten Ecken verwendet wird (in Pixel). Optional. Wird kein Wert angegeben, wird als Standardwert der Wert verwendet, der für den Parameter ellipseWidth angegeben wurde.


Auslöser
ArgumentError — Wenn der Parameter width, height, ellipseWidth oder ellipseHeight etwas anderes als eine Zahl enthält (Number.NaN).

Siehe auch


Beispiel
Verwendung von Beispielen
Am Ende des Abschnitts über diese Klasse finden Sie in Beispiel , in dem die Verwendung dieser Methode veranschaulicht wird.
endFill()Methode 
public function endFill():void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Versieht die Linien und Kurven, die seit dem letzten Aufruf der Methode beginFill(), beginGradientFill() oder beginBitmapFill() hinzugefügt wurden, mit einer Füllung. Flash verwendet die im vorherigen Aufruf der Methode beginFill(), beginGradientFill() oder beginBitmapFill() angegebene Füllung. Wenn die aktuelle Zeichnungsposition nicht der in einer moveTo()-Methode angegebenen vorherigen Position entspricht und eine Füllung definiert ist, wird der Pfad mit einer Linie geschlossen und dann gefüllt.

Siehe auch

lineGradientStyle()Methode 
public function lineGradientStyle(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Legt einen Farbverlauf für den Linienstil fest, den Flash Player für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. lineTo() oder drawCircle()). Der Linienstil bleibt wirksam, bis Sie die lineStyle()-Methode oder die lineGradientStyle()-Methode mit verschiedenen Parametern aufrufen. Sie können lineGradientStyle() beim Zeichnen eines Pfads aufrufen, um für unterschiedliche Liniensegmente in einem Pfad unterschiedliche Linientypen zu verwenden.

Rufen Sie lineStyle() vor lineGradientStyle() auf, um einen Strich zu ermöglichen. Andernfalls bleibt der Wert des Linienstils undefined.

Wenn Sie clear() aufrufen, setzen Sie den Linienstil wieder auf undefined zurück.

Parameter

type:String — Ein Wert aus der GradientType-Klasse, mit dem angegeben wird, welcher Farbverlaufstyp verwendet werden soll, entweder "GradientType.LINEAR" oder "GradientType.RADIAL".
 
colors:Array — Ein Array mit hexadezimalen RGB-Farbwerten, die im Farbverlauf verwendet werden sollen (beispielsweise 0xFF0000 für Rot, 0x0000FF für Blau usw.).
 
alphas:Array — Ein Array mit Alphawerten für die entsprechenden Farben im Array colors. Gültig sind Werte von 0 bis 100. Ist der Wert kleiner als 0, verwendet Flash Player den Wert 0. Ist der Wert größer als 100, verwendet Flash Player den Wert 100.
 
ratios:Array — Ein Array mit Farbverteilungsverhältnissen. Die zulässigen Werte liegen zwischen 0 und 255. Dieser Wert gibt den Breitenanteil an, in dem die Farbe mit 100 % gesampelt wird. Der Wert 0 repräsentiert die linke Position im Farbverlaufsfeld, und 255 repräsentiert die rechte Position im Farbverlaufsfeld. Dieser Wert repräsentiert Positionen im Farbverlaufsfeld, nicht im Koordinatenraum des endgültigen Farbverlaufs, der breiter oder schmaler als das Farbverlaufsfeld sein kann. Geben Sie für jeden Wert im Parameter colors einen Wert an.

Die folgende Abbildung zeigt für einen linearen Verlauf mit den beiden Farben Rot und Blau die Farbplatzierung im Verlauf basierend auf den verschiedenen Werten im ratios-Array:

ratiosFarbverlauf
[0, 127]
[0, 255]
[127, 255]

Die Werte im Array müssen sich sequenziell erhöhen. Beispiel: [0, 63, 127, 190, 255].

 
matrix:Matrix (default = null) — Eine Transformationsmatrix, wie sie von der flash.geom.Matrix-Klasse definiert wird. Die flash.geom.Matrix-Klasse umfasst eine createGradientBox()-Methode, mit der Sie die Matrix zur Verwendung mit der lineGradientStyle()-Methode auf einfache Weise festlegen können.
 
spreadMethod:String (default = "pad") — Ein Wert aus der SpreadMethod-Klasse, der festlegt, welche Auftragstärke zu verwenden ist:

SpreadMethod.PADSpreadMethod.REFLECTSpreadMethod.REPEAT

 
interpolationMethod:String (default = "rgb") — Ein Wert aus der InterpolationMethod-Klasse, der festlegt, welcher Wert zu verwenden ist. Angenommen, Sie haben einen einfachen linearen Farbverlauf zwischen zwei Farben (wobei der Parameter spreadMethod auf SpreadMethod.REFLECT gesetzt ist). Die verschiedenen Interpolationsmethoden haben folgende Auswirkung auf die Darstellung des Farbverlaufs:

InterpolationMethod.LINEAR_RGBInterpolationMethod.RGB

 
focalPointRatio:Number (default = 0) — Eine Zahl, die die Position des Farbverlaufsbrennpunkts steuert. Der Wert 0 bedeutet, dass der Brennpunkt in der Mitte liegt. Der Wert 1 bedeutet, dass der Brennpunkt an einem Rand des Farbverlaufskreises liegt. Der Wert -1 bedeutet, dass der Brennpunkt am anderen Rand des Farbverlaufskreises liegt. Werte, die kleiner als -1 oder größer als 1 sind, werden auf -1 bzw. 1 gerundet. Das folgende Bild zeigt einen Farbverlauf mit einem focalPointRatio von -0,75:

Siehe auch


Beispiel

Im folgenden Beispiel werden ein Rechteck und ein Kreis mit einem Farbverlaufsstrich von Rot über Grün zu Blau gezeichnet.

Mit der Methode createGradientBox() aus der Matrix-Klasse wird das Verlaufsfeld auf eine Breite von 200 und eine Höhe von 40 festgelegt. Die Stärke der Linie wird auf 5 Pixel festgelegt. Die Strichstärke muss für die Methode lineGradientStyle() definiert werden. Der Verlauf ist als linear festgelegt. Als Farben für den Verlauf sind Rot, Grün und Blau angegeben. Die Transparenz (der Alphawert) für die Farben wird auf 1 (deckend) festgelegt Die Verteilung des Verlaufs ist gleichmäßig, wobei die Farben mit 100% bei 0 (links im Verlaufsfeld), 128 (Mitte des Feldes) und 255 (rechts im Feld) gesampelt werden. Die Breite des Rechtecks umfasst das gesamte Spektrum des Verlaufs, während der Kreis 50% ab der Mitte des Spektrums umfasst.

package {
    import flash.display.Sprite;
    import flash.display.Shape;
    import flash.geom.Matrix; 
    import flash.display.GradientType;
    
    public class Graphics_lineGradientStyleExample extends Sprite
    {
        public function Graphics_lineGradientStyleExample()
        {
            var myShape:Shape = new Shape();
            var gradientBoxMatrix:Matrix = new Matrix();
  
            gradientBoxMatrix.createGradientBox(200, 40, 0, 0, 0);  
            
            myShape.graphics.lineStyle(5);
  
            myShape.graphics.lineGradientStyle(GradientType.LINEAR, [0xFF0000,
            0x00FF00, 0x0000FF], [1, 1, 1], [0, 128, 255], gradientBoxMatrix);
            
            myShape.graphics.drawRect(0, 0, 200, 40);
            myShape.graphics.drawCircle(100, 120, 50);  
             
            this.addChild(myShape);
    
        }
    }
}
lineStyle()Methode 
public function lineStyle(thickness:Number, color:uint = 0, alpha:Number = 1.0, pixelHinting:Boolean = false, scaleMode:String = "normal", caps:String = null, joints:String = null, miterLimit:Number = 3):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Legt einen Linienstil fest, den Flash für nachfolgende Aufrufe von anderen Graphics-Methoden für das Objekt verwendet (z. B. lineTo() oder drawCircle()). Der Linienstil bleibt wirksam, bis Sie die lineGradientStyle()-Methode oder die lineStyle()-Methode mit verschiedenen Parametern aufrufen. Sie können lineStyle() beim Zeichnen eines Pfads aufrufen, um für unterschiedliche Liniensegmente innerhalb des Pfads unterschiedliche Linienstile zu verwenden.

Hinweis: Wenn Sie die clear()-Methode aufrufen, wird der Linienstil wieder auf undefined gesetzt.

Parameter

thickness:Number — Eine Ganzzahl, die die Stärke der Linie in Punkt angibt. Gültig sind Werte von 0 bis 255. Wenn keine Zahl angegeben ist oder wenn der Parameter den Wert "undefined" aufweist, wird keine Linie gezeichnet. Wenn ein kleinerer Wert als 0 übergeben wird, ist der Standardwert 0. Der Wert 0 steht für die geringste Linienstärke. Der Höchstwert beträgt 255. Wenn ein größerer Wert als 255 übergeben wird, ist der Standardwert 255.
 
color:uint (default = 0) — Der hexadezimale Farbwert der Linie (Rot ist beispielsweise 0xFF0000, Blau 0x0000FF usw.). Wird kein Wert angegeben, ist der Standardwert 0x000000 (Schwarz). Optional.
 
alpha:Number (default = 1.0) — Eine Ganzzahl, die den Alphawert der Linienfarbe angibt. Gültig sind Werte von 0 bis 1. Wird kein Wert angegeben, ist der Standardwert 1 (einfarbige vollständige Füllung). Ist der Wert kleiner als 0, ist der Standardwert 0. Ist der Wert größer als 1, ist der Standardwert 1.
 
pixelHinting:Boolean (default = false) — Ein boolescher Wert, der angibt, ob Striche als ganze Pixel angezeigt werden. Dies wirkt sich sowohl auf die Positionen der Anker einer Kurve als auch auf die Linienstärke des Strichs selbst aus. Ist pixelHinting auf true gesetzt, zeigt Flash Player die Linienstärke als ganze Pixel an. Ist pixelHinting auf false gesetzt, können Kurven und gerade Linien unterbrochen sein. Die folgenden Abbildungen zeigen beispielsweise, wie Flash Player zwei abgerundete Rechtecke darstellt, die, abgesehen vom Parameter pixelHinting in der lineStyle()-Methode, identisch sind (um den Unterschied deutlicher zu machen, wurden die Bilder auf 200 % vergrößert):

Wird kein Wert angegeben, wird die Funktion nicht verwendet.

 
scaleMode:String (default = "normal") — Ein Wert aus der LineScaleMode-Klasse, mit dem angegeben wird, welcher Skalierungsmodus verwendet werden soll:
  • LineScaleMode.NORMAL: Die Linienstärke wird immer skaliert, wenn das Objekt skaliert wird (der Standard).
  • LineScaleMode.NONE: Die Linienstärke wird nie skaliert.
  • LineScaleMode.VERTICAL: Die Linienstärke wird nicht skaliert, wenn das Objekt nur vertikal skaliert wurde. Betrachten Sie beispielsweise die folgenden Kreise, die mit einer 1 Pixel starken Linie gezeichnet wurden und bei denen der Parameter scaleMode jeweils auf LineScaleMode.VERTICAL gesetzt wurde. Der Kreis links wurde nur vertikal skaliert, und der Kreis rechts wurde sowohl vertikal als auch horizontal skaliert.

  • LineScaleMode.HORIZONTAL: Die Linienstärke wird nicht skaliert, wenn das Objekt nur vertikal skaliert wurde. Betrachten Sie beispielsweise die folgenden Kreise, die mit einer 1 Pixel starken Linie gezeichnet wurden und bei denen der Parameter scaleMode jeweils auf LineScaleMode.HORIZONTAL gesetzt wurde. Der Kreis links wurde nur horizontal skaliert, und der Kreis rechts wurde sowohl horizontal als auch vertikal skaliert.

 
caps:String (default = null) — Ein Wert der CapsStyle-Klasse, der den Stil der Linienenden definiert. Folgende Werte sind zulässig: CapsStyle.NONE, CapsStyle.ROUND und CapsStyle.SQUARE. Wird kein Wert angegeben, verwendet Flash runde Enden.

Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für capsStyle. Die Abbildung zeigt für jede Einstellung eine blaue Linie mit der Stärke 30 (für die capsStyle gilt) sowie eine überlagerte schwarze Linie mit der Stärke 1 (für die kein capsStyle gilt):

 
joints:String (default = null) — Ein Wert der JointStyle-Klasse, der den Verbindungsstil für Winkel festlegt. Folgende Werte sind zulässig: JointStyle.BEVEL, JointStyle.MITER und JointStyle.ROUND. Wird kein Wert angegeben, verwendet Flash runde Verbindungen.

Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für joints. Die Abbildung zeigt für jede Einstellung eine gewinkelte blaue Linie mit der Stärke 30 (für die jointStyle gilt) sowie eine überlagerte gewinkelte schwarze Linie mit der Stärke 1 (für die kein jointStyle gilt):

Hinweis: Ist joints auf JointStyle.MITER gesetzt, können Sie den Parameter miterLimit verwenden, um die Länge des Winkels einzuschränken.

 
miterLimit:Number (default = 3) — Eine Zahl, die die Grenze festlegt, an der ein Winkel abgeschnitten wird. Gültige Werte liegen im Bereich von 1 bis 255 (Werte außerhalb dieses Bereichs werden auf 1 oder 255 gerundet). Dieser Wert wird nur dann verwendet, wenn jointStyle auf "miter" gesetzt wird. Der Wert miterLimit steht für die Länge, die ein Winkel über jenen Punkt hinausgehen kann, an dem zwei Linien eine Verbindung bilden. Der Wert drückt einen Faktor der Linieneigenschaft thickness aus. Bei einem miterLimit-Faktor von 2,5 und einer thickness von 10 Pixeln, wird der Winkel bei 25 Pixeln abgeschnitten.

Beachten Sie beispielsweise die folgenden gewinkelten Linien mit einer thickness von 20 und mit einem miterLimit von 1, 2 und 4. Darüber befinden sich schwarze Referenzlinien, die die Schnittpunkte der Verbindungen anzeigen:

Beachten Sie, dass bei einem gegebenen miterLimit-Wert ein bestimmter Maximalwinkel existiert, bei dem der Winkel abgeschnitten wird. In der folgenden Tabelle finden Sie einige Beispiele:

miterLimit-Wert:Winkel, die kleiner sind als dieser Wert, werden abgeschnitten:
1.41490 Grad
260 Grad
430 Grad
815 Grad

Siehe auch


Beispiel
Verwendung von Beispielen
Die Verwendung der Methode getStyle() wird im Beispiel für die Methode lineTo() oder moveTo() veranschaulicht.
lineTo()Methode 
public function lineTo(x:Number, y:Number):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Zeichnet eine Linie im aktuellen Linienstil von der aktuellen Zeichnungsposition zu (x, y). Die aktuelle Zeichnungsposition wird dann auf (x, y) gesetzt. Wenn das Anzeigeobjekt, in dem Sie zeichnen, mit den Flash-Zeichenwerkzeugen erstellte Objekte enthält, werden die Ergebnisse von Aufrufen der lineTo()-Methode unter diesen Objekten gezeichnet. Wenn Sie lineTo() vor der moveTo()-Methode aufrufen, wird die aktuelle Zeichnungsposition standardmäßig auf (0, 0) gesetzt. Wenn ein Parameter fehlt, schlägt die Ausführung dieser Methode fehl, und die aktuelle Zeichnungsposition wird beibehalten.

Parameter

x:Number — Eine Ganzzahl, die die horizontale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).
 
y:Number — Eine Ganzzahl, die die vertikale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).


Beispiel

Im folgenden Beispiel wird mithilfe der Methode lineTo() ein Trapezoid gezeichnet, das bei Pixel (100, 100) beginnt.

Die Linienstärke wird auf 10 Pixel, die Farbe auf gold und deckend gesetzt, es werden keine Linienabschlüsse verwendet (da alle Linien verbunden sind), und die Verbindung zwischen den Linien wird auf MITER mit einer Winkelgrenze von 10 gesetzt, um spitze Ecken zu erhalten.

package {
    import flash.display.Sprite;
    import flash.display.LineScaleMode;
    import flash.display.CapsStyle;
    import flash.display.JointStyle;
    import flash.display.Shape;


    public class Graphics_lineToExample extends Sprite {

        public function Graphics_lineToExample() {

            var trapezoid:Shape = new Shape();    

            trapezoid.graphics.lineStyle(10, 0xFFD700, 1, false, LineScaleMode.VERTICAL,
                               CapsStyle.NONE, JointStyle.MITER, 10);

            trapezoid.graphics.moveTo(100, 100);
 
            trapezoid.graphics.lineTo(120, 50);
            trapezoid.graphics.lineTo(200, 50);
            trapezoid.graphics.lineTo(220, 100);
            trapezoid.graphics.lineTo(100, 100); 

            this.addChild(trapezoid);
        }
    }
}
moveTo()Methode 
public function moveTo(x:Number, y:Number):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Verschiebt die aktuelle Zeichnungsposition auf (x, y). Wenn ein Parameter fehlt, schlägt die Ausführung dieser Methode fehl, und die aktuelle Zeichnungsposition wird beibehalten.

Parameter

x:Number — Eine Ganzzahl, die die horizontale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).
 
y:Number — Eine Ganzzahl, die die vertikale Position relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts angibt (in Pixel).


Beispiel

Im folgenden Beispiel wird eine gestrichelte Linie mit einer Strichstärke von drei Pixel gezeichnet. Dazu werden die Methoden moveTo() und lineTo() verwendet.

Mithilfe der Methode lineStyle() wird die Linienstärke auf 3 Pixel festgelegt. Außerdem wird festgelegt, dass keine Skalierung erfolgen soll. Die Farbe wird auf Rot mit 25 Prozent Deckkraft festgelegt. Die Eigenschaft CapsStyle wird auf "square" gesetzt (die Standardeinstellung ist "round").

Da es sich bei Graphics_moveToExample um eine Instanz der Sprite-Klasse handelt, ist der Zugriff auf alle Methoden der Graphics-Klasse möglich. Mit den Methoden der Graphics-Klasse kann direkt im Sprite-Objekt Graphic_moveToExample gezeichnet werden. Wenn dem Vektorzeichenobjekt jedoch keine Form (Shape) gegeben wird, sind die Möglichkeiten des Verwaltens, Verschiebens oder Änderns beschränkt.

package {
    import flash.display.Sprite;
    import flash.display.CapsStyle;
    import flash.display.LineScaleMode;

    public class Graphics_moveToExample extends Sprite
    {
        public function Graphics_moveToExample() {
            
            graphics.lineStyle(3, 0x990000, 0.25, false, 
                            LineScaleMode.NONE, CapsStyle.SQUARE);

            graphics.moveTo(10, 20);
            graphics.lineTo(20, 20);
            graphics.moveTo(30, 20);
            graphics.lineTo(50, 20);
            graphics.moveTo(60, 20);
            graphics.lineTo(80, 20);
            graphics.moveTo(90, 20);
            graphics.lineTo(110, 20);            
            graphics.moveTo(120, 20);
            graphics.lineTo(130, 20);           
        }
    }
}
Beispiele Verwendung von Beispielen
GraphicsExample.as

Im folgenden Beispiel wird die GraphicsExample-Klasse verwendet, um einen Kreis, ein abgerundetes Rechteck und ein Quadrat zu zeichnen. Dies wird in den folgenden Schritten erreicht:
  1. Deklarieren Sie eine size-Eigenschaft zur späteren Verwendung beim Bestimmen der Größe der einzelnen Formen.
  2. Deklarieren Sie Eigenschaften, die die Hintergrundfarbe auf Orange, die Rahmenfarbe auf Dunkelgrau, die Rahmenbreite auf 0 Pixel und den Eckradius auf 9 Pixel setzen, und setzen Sie den Abstand zwischen Bühnenrand und anderen Objekten auf 5 Pixel.
  3. Verwenden Sie die in den vorherigen Schritten deklarierten Eigenschaften zusammen mit den vorhandenen Methoden der Graphics-Klasse, um an den Koordinaten x = 0, y = 0 einen Kreis, ein abgerundetes Rechteck und ein Quadrat zu zeichnen.
  4. Zeichnen Sie die einzelnen Formen am oberen Rand der Bühne neu, indem Sie an der Position x = 5, y = 5 beginnen und zwischen den Formen einen Abstand von jeweils 5 Pixel einhalten.

package {
    import flash.display.DisplayObject;
    import flash.display.Graphics;
    import flash.display.Shape;
    import flash.display.Sprite;

    public class GraphicsExample extends Sprite {
        private var size:uint         = 80;
        private var bgColor:uint      = 0xFFCC00;
        private var borderColor:uint  = 0x666666;
        private var borderSize:uint   = 0;
        private var cornerRadius:uint = 9;
        private var gutter:uint       = 5;

        public function GraphicsExample() {
            doDrawCircle();
            doDrawRoundRect();
            doDrawRect();
            refreshLayout();
        }

        private function refreshLayout():void {
            var ln:uint = numChildren;
            var child:DisplayObject;
            var lastChild:DisplayObject = getChildAt(0);
            lastChild.x = gutter;
            lastChild.y = gutter;
            for (var i:uint = 1; i < ln; i++) {
                child = getChildAt(i);
                child.x = gutter + lastChild.x + lastChild.width;
                child.y = gutter;
                lastChild = child;
            }
        }

        private function doDrawCircle():void {
            var child:Shape = new Shape();
            var halfSize:uint = Math.round(size / 2);
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawCircle(halfSize, halfSize, halfSize);
            child.graphics.endFill();
            addChild(child);
        }

        private function doDrawRoundRect():void {
            var child:Shape = new Shape();
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawRoundRect(0, 0, size, size, cornerRadius);
            child.graphics.endFill();
            addChild(child);
        }

        private function doDrawRect():void {
            var child:Shape = new Shape();
            child.graphics.beginFill(bgColor);
            child.graphics.lineStyle(borderSize, borderColor);
            child.graphics.drawRect(0, 0, size, size);
            child.graphics.endFill();
            addChild(child);
        }
    }
}




 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/display/Graphics.html