Paket | flash.display |
Klasse | public final class Graphics |
Vererbung | Graphics Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Methode | Definiert von | ||
---|---|---|---|
beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Füllt einen Zeichenbereich mit einer Bitmap. | Graphics | ||
Gibt eine einfache, einfarbige Füllung an, die bei nachfolgenden Aufrufen anderer Graphics-Methoden (wie „lineTo()“ oder „drawCircle()“) zum Zeichnen verwendet wird. | Graphics | ||
beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Gibt eine Farbverlaufsfüllung an, die bei nachfolgenden Aufrufen anderer Graphics-Methoden wie lineTo() oder drawCircle() zum Zeichnen verwendet wird. | Graphics | ||
Gibt eine Shaderfüllung an, die bei nachfolgenden Aufrufen anderer Graphics-Methoden wie lineTo() oder drawCircle() zum Zeichnen verwendet wird. | 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 | ||
Kopiert alle Zeichenbefehle vom Graphics-Quellobjekt in das aufrufende Graphics-Objekt. | Graphics | ||
cubicCurveTo(controlX1:Number, controlY1:Number, controlX2:Number, controlY2:Number, anchorX:Number, anchorY:Number):void
Zeichnet eine kubische Bézierkurve von der aktuellen Zeichenposition zum angegebenen Ankerpunkt. | Graphics | ||
Zeichnet eine quadratische Bézierkurve im aktuellen Linienstil von der aktuellen Zeichnungsposition zu (anchorX, anchorY) unter Verwendung des durch (controlX, controlY) angegebenen Steuerpunkts. | Graphics | ||
Zeichnet einen Kreis. | Graphics | ||
Zeichnet eine Ellipse. | Graphics | ||
Sendet eine Reihe von IGraphicsData-Instanzen für das Zeichnen. | Graphics | ||
Sendet eine Reihe von Befehlen für das Zeichnen. | Graphics | ||
Zeichnet ein Rechteck. | Graphics | ||
drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number = NaN):void
Zeichnet ein abgerundetes Rechteck. | Graphics | ||
drawTriangles(vertices:Vector.<Number>, indices:Vector.<int> = null, uvtData:Vector.<Number> = null, culling:String = "none"):void
Stellt einen Satz an Dreiecken dar, normalerweise, um Bitmaps zu verzerren und ihnen ein dreidimensionales Aussehen zu verleihen. | 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 | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Legt eine Bitmap fest, die beim Zeichnen von Linien für den Linienstrich verwendet wird. | Graphics | ||
lineGradientStyle(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void
Legt einen Verlauf für den Strich beim Zeichnen von Linien fest. | Graphics | ||
Legt einen Shader für den Linienstrich beim Zeichnen von Linien fest. | Graphics | ||
lineStyle(thickness:Number = NaN, 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, der für nachfolgende Aufrufe von Graphics-Methoden, z. B. lineTo() oder drawCircle(), verwendet wird. | 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 | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Fragt ein Sprite- oder Shape-Objekt (und optional seine untergeordneten Elemente) nach dem Vektorgrafikinhalt ab. | Graphics | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
beginBitmapFill | () | Methode |
public function beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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()
, beginGradientFill()
oder beginShaderFill()
aufrufen. Durch das Aufrufen der clear()
-Methode wird die Füllung gelöscht.
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder 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 Ist | |
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 schneller.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
image1.jpg
) gedreht und wiederholt, um ein Rechteck auszufüllen.
- Die Bilddatei (
image1.jpg
) wird mithilfe derLoader
- undURLRequest
-Objekte geladen. Hier befindet sich die Datei im selben Ordner wie die SWF-Datei. Bei der Kompilierung der SWF-Datei muss „Sicherheit bei lokaler Wiedergabe“ auf „Nur auf lokale Dateien zugreifen“ eingestellt sein. - Nachdem das Bild geladen wurde (
Event
ist abgeschlossen), wird die MethodedrawImage()
aufgerufen. Die MethodeioErrorHandler()
schreibt einen Nachverfolgungskommentar, wenn das Bild nicht richtig geladen wird. - In der Methode
drawImage()
wird einBitmapData
-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-ObjektmySprite
gezeichnet und mit dem BitmapData-Objekt gefüllt. Mithilfe einesMatrix
-Objekts dreht die MethodebeginBitmapFill()
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt eine einfache, einfarbige Füllung an, die bei nachfolgenden Aufrufen anderer Graphics-Methoden (wie lineTo()
oder drawCircle()
) zum Zeichnen verwendet wird. Die Füllung bleibt wirksam, bis Sie eine der Methoden beginFill()
, beginBitmapFill()
, beginGradientFill()
oder beginShaderFill()
aufrufen. Durch das Aufrufen der clear()
-Methode wird die Füllung gelöscht.
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder 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).
|
Verwandte API-Elemente
Beispiel
Verwendung dieses Beispiels
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt eine Farbverlaufsfüllung an, die bei nachfolgenden Aufrufen anderer Graphics-Methoden wie lineTo()
oder drawCircle()
zum Zeichnen verwendet wird. Die Füllung bleibt wirksam, bis Sie eine der Methoden beginFill()
, beginBitmapFill()
, beginGradientFill()
oder beginShaderFill()
aufrufen. Durch das Aufrufen der clear()
-Methode wird die Füllung gelöscht.
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder 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 (beispielsweise 0xFF0000 für Rot, 0x0000FF für Blau usw.). Sie können bis zu 15 Farben angeben. Definieren Sie 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. Zulässig sind Werte zwischen 0 und 255. Dieser Wert gibt den Breitenanteil an, in dem die Farbe mit 100 % gesampelt wird. Der Wert 0 stellt die linke Position im Farbverlaufsfeld dar, 255 die rechte.
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 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
Die Werte im Array müssen sich sequenziell erhöhen. Beispiel: | |||||||||
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 Mit der Auftragstärke Mit der Auftragstärke | |||||||||
interpolationMethod:String (default = "rgb ") — Ein Wert der InterpolationMethod-Klasse, der festlegt, welcher Wert verwendet werden soll: InterpolationMethod.LINEAR_RGB oder InterpolationMethod.RGB .
Angenommen, Sie haben einen einfachen linearen Farbverlauf zwischen zwei Farben (wobei der Parameter
| |||||||||
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.
|
Verwandte API-Elemente
beginShaderFill | () | Methode |
public function beginShaderFill(shader:Shader, matrix:Matrix = null):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Legt eine Shaderfüllung fest, die bei nachfolgenden Aufrufen anderer Graphics-Methoden (wie lineTo()
oder drawCircle()
) für das Objekt verwendet wird. Die Füllung bleibt wirksam, bis Sie eine der Methoden beginFill()
, beginBitmapFill()
, beginGradientFill()
oder beginShaderFill()
aufrufen. Durch das Aufrufen der clear()
-Methode wird die Füllung gelöscht.
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder die endFill()
-Methode aufgerufen wird.
Shader-Füllungen werden beim GPU-Rendering nicht unterstützt; gefüllte Bereiche werden in Cyan eingefärbt.
Parameter
shader:Shader — Der für die Füllung zu verwendende Shader. In dieser Shader-Instanz muss keine Bildeingabe festgelegt werden. Ist im Shader jedoch eine Bildeingabe festgelegt, so muss diese manuell bereitgestellt werden. Um die Eingabe festzulegen, setzen Sie die input -Eigenschaft der entsprechenden ShaderInput-Eigenschaft der Shader.data -Eigenschaft.
Wird eine Shader-Instanz als Argument übergeben, so wird der Shader intern kopiert. Beim Füllzeichenvorgang wird diese interne Kopie verwendet anstatt des Verweises auf den ursprünglichen Shader. Änderungen am Shader, beispielsweise die Änderung eines Parameterwerts, einer Eingabe, oder des Bytecode, werden nicht auf die Kopie des Shaders angewendet, die für die Füllung verwendet wird. | |
matrix:Matrix (default = null ) — Ein Matrixobjekt (der flash.geom.Matrix-Klasse), mit dem Sie Transformationen am Shader definieren können. Die folgende Matrix können Sie beispielsweise verwenden, um einen Shader um 45 Grad (pi/4 rad) zu drehen:
matrix = new flash.geom.Matrix(); matrix.rotate(Math.PI / 4); Die vom Shader entgegengenommenen Koordinaten basieren auf der im |
Auslöser
ArgumentError — Wenn der Shaderausgabetyp mit diesem Vorgang nicht kompatibel ist (der Shader muss eine pixel3 - oder pixel4 -Ausgabe festlegen).
| |
ArgumentError — Wenn der Shader eine Bildeingabe festlegt, die nicht vorhanden ist.
| |
ArgumentError — Wenn eine ByteArray- oder Vector.<Number>-Instanz als Eingabe verwendet wird und die width - und height -Eigenschaft für ShaderInput nicht festgelegt ist oder die festgelegten Werte nicht mit der Datenmenge im Eingabeobjekt übereinstimmen. Weitere Informationen finden Sie im Abschnitt zur ShaderInput.input -Eigenschaft.
|
Verwandte API-Elemente
clear | () | Methode |
public function clear():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
copyFrom | () | Methode |
public function copyFrom(sourceGraphics:Graphics):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Kopiert alle Zeichenbefehle vom Graphics-Quellobjekt in das aufrufende Graphics-Objekt.
Parameter
sourceGraphics:Graphics — Das Graphics-Objekt, von dem die Zeichenbefehle kopiert werden.
|
cubicCurveTo | () | Methode |
public function cubicCurveTo(controlX1:Number, controlY1:Number, controlX2:Number, controlY2:Number, anchorX:Number, anchorY:Number):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Zeichnet eine kubische Bézierkurve von der aktuellen Zeichenposition zum angegebenen Ankerpunkt. Kubische Bézierkurven bestehen aus zwei Ankerpunkten und zwei Steuerpunkten. Die Kurve interpoliert die zwei Ankerpunkte und neigt sich zu den beiden Steuerpunkten hin.
Die vier Punkte, die Sie zum Zeichnen einer kubischen Bézierkurve mit der cubicCurveTo()
-Methode verwenden, sind:
- Die aktuelle Zeichenposition ist der erste Ankerpunkt.
- Die Parameter
anchorX
undanchorY
geben den zweiten Ankerpunkt an. - Die Parameter
controlX1
undcontrolY1
geben den ersten Steuerungspunkt an. - Die Parameter
controlX2
undcontrolY2
geben den zweiten Steuerungspunkt an.
Wenn Sie die cubicCurveTo()
-Methode vor dem Aufruf der moveTo()
-Methode aufrufen, beginnt Ihre Kurve bei Position (0, 0).
Wenn die cubicCurveTo()
-Methode erfolgreich ist, legt die Flash-Laufzeitumgebung die aktuelle Zeichenposition auf (anchorX
, anchorY
) fest. Wenn die cubicCurveTo()
-Method fehlschlägt, wird die aktuelle Zeichenposition nicht verändert.
Falls Ihr Movieclip Inhalt enthält, der mit den Flash-Zeichenwerkzeugen erstellt wurde, werden die Ergebnisse der Aufrufe der cubicCurveTo()
-Methode unter diesem Inhalt gezeichnet.
Parameter
controlX1:Number — Gibt die horizontale Position des ersten Steuerungspunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts an.
| |
controlY1:Number — Gibt die vertikale Position des ersten Steuerungspunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts an.
| |
controlX2:Number — Gibt die horizontale Position des zweiten Steuerungspunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts an.
| |
controlY2:Number — Gibt die vertikale Position des zweiten Steuerungspunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts an.
| |
anchorX:Number — Gibt die horizontale Position des Ankerpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts an.
| |
anchorY:Number — Gibt die vertikale Position des Ankerpunkts relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts an.
|
Beispiel ( Verwendung dieses Beispiels )
Zeichnen Sie vier Kurven, um einen Kreis zu erzeugen, und füllen Sie ihn blau aus.
Beachten Sie, dass aufgrund der Beschaffenheit der kubischen Bézier-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_cubicCurveToExample extends Sprite { public function Graphics_cubicCurveToExample():void { var rounderObject:Shape = new Shape(); rounderObject.graphics.beginFill(0x0000FF); rounderObject.graphics.moveTo(250, 0); rounderObject.graphics.cubicCurveTo(275, 0, 300, 25, 300, 50); rounderObject.graphics.cubicCurveTo(300, 75, 275, 100, 250, 100); rounderObject.graphics.cubicCurveTo(225, 100, 200, 75, 200, 50); rounderObject.graphics.cubicCurveTo(200, 25, 225, 0, 250, 0); rounderObject.graphics.endFill(); this.addChild(rounderObject); } } }
curveTo | () | Methode |
public function curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zeichnet eine quadratische Bézierkurve 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 ( Verwendung dieses Beispiels )
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); } } }
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zeichnet einen Kreis. Setzen Sie den Linienstil oder die Füllung oder beides, 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).
|
Verwandte API-Elemente
Beispiel
Verwendung dieses Beispiels
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zeichnet eine Ellipse. Setzen Sie den Linienstil oder die Füllung oder beides, bevor Sie die drawEllipse()
-Methode aufrufen. Dazu rufen Sie die Methode linestyle()
, lineGradientStyle()
, beginFill()
, beginGradientFill()
oder beginBitmapFill()
auf.
Parameter
x:Number — Die x-Position der linken oberen Ecke des Begrenzungsrahmens der Ellipse relativ zum Registrierungspunkt des übergeordneten Anzeigeobjekts (in Pixel).
| |
y:Number — Die y-Position der linken oberen Ecke des Begrenzungsrahmens der Ellipse 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).
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
drawEgg()
drei unterschiedlich große Eier (drei Ellipsen verschiedener Größe) gezeichnet. Die Größe ist vom Parameter eggSize
abhängig.
- 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.) - Die Funktion
drawEgg()
zeichnet die Ellipsen unterschiedlicher Größe und füllt sie mithilfe der MethodebeginFill()
. 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); } } }
drawGraphicsData | () | Methode |
public function drawGraphicsData(graphicsData:Vector.<IGraphicsData>):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Sendet eine Reihe von IGraphicsData-Instanzen für das Zeichnen. Diese Methode akzeptiert einen Vektor mit Objekten, einschließlich Pfade, Füllungen und Striche, die die IGraphicsData-Schnittstelle implementieren. Ein Vektor mit IGraphicsData-Instanzen kann sich auf einen Teil einer Form beziehen, kann aber auch ein komplexer, umfangreicher Datensatz sein, der eine Form vollständig darstellt.
Grafikpfade können andere Grafikpfade enthalten. Enthält der graphicsData
-Vektor einen Pfad, so wird dieser während dieses Vorgangs mit allen seinen Unterpfaden dargestellt.
Parameter
graphicsData:Vector.<IGraphicsData> — Ein Vektor mit Grafikobjekten, die die IGraphicsData-Schnittstelle implementieren.
|
Verwandte API-Elemente
GraphicsBitmapFill-Klasse
GraphicsEndFill-Klasse
GraphicsGradientFill-Klasse
GraphicsPath-Klasse
GraphicsShaderFill-Klasse
GraphicsSolidFill-Klasse
GraphicsStroke-Klasse
GraphicsTrianglePath-Klasse
readGraphicsData()-Methode
Beispiel ( Verwendung dieses Beispiels )
drawGraphicsData()
-Befehl übergeben.
package { import flash.display.*; import flash.geom.*; public class DrawGraphicsDataExample extends Sprite { public function DrawGraphicsDataExample() { // establish the fill properties var myFill:GraphicsGradientFill = new GraphicsGradientFill(); myFill.colors = [0xEEFFEE, 0x0000FF]; myFill.matrix = new Matrix(); myFill.matrix.createGradientBox(100, 100, 0); // establish the stroke properties var myStroke:GraphicsStroke = new GraphicsStroke(2); myStroke.fill = new GraphicsSolidFill(0x000000); // establish the path properties var pathCommands = new Vector.<int>(5, true); pathCommands[0] = GraphicsPathCommand.MOVE_TO; pathCommands[1] = GraphicsPathCommand.LINE_TO; pathCommands[2] = GraphicsPathCommand.LINE_TO; pathCommands[3] = GraphicsPathCommand.LINE_TO; pathCommands[4] = GraphicsPathCommand.LINE_TO; var pathCoordinates:Vector.<Number> = new Vector.<Number>(10, true); pathCoordinates.push(10,10, 10,100, 100,100, 100,10, 10,10); var myPath:GraphicsPath = new GraphicsPath(pathCommands, pathCoordinates); // populate the IGraphicsData Vector array var myDrawing:Vector.<IGraphicsData> = new Vector.<IGraphicsData>(3, true); myDrawing[0] = myFill; myDrawing[1] = myStroke; myDrawing[2] = myPath; // render the drawing graphics.drawGraphicsData(myDrawing); } } }
drawPath | () | Methode |
public function drawPath(commands:Vector.<int>, data:Vector.<Number>, winding:String = "evenOdd"):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Sendet eine Reihe von Befehlen für das Zeichnen. Die drawPath()
-Methode lässt einen Vektor von einzelnen moveTo()
-, lineTo()
- und curveTo()
-Zeichnenbefehlen zu und fasst sie zu einem einzigen Aufruf zusammen. Die Parameter der drawPath()
-Methode kombinieren Zeichnenbefehle mit Wertepaaren aus x- und y-Koordinaten und einer Zeichnenrichtung. Die Zeichnenbefehle sind Ganzzahlen, die als Konstanten dargestellt werden, die in der GraphicsPathCommand-Klasse definiert werden. Die Wertepaare aus x- und y-Koordinaten sind Zahlen in einem Array, wobei jedes Paar eine Koordinatenposition festlegt. Die Zeichenrichtung ist ein Wert aus der GraphicsPathWinding-Klasse.
Generell ist die Darstellung von Zeichnungen mithilfe von drawPath()
schneller als mit einer Reihe einzelner lineTo()
- und curveTo()
-Methodenaufrufe.
Die drawPath()
-Methode verwendet eine gleitende Berechnung, sodass die Drehung und Skalierung von Formen genauer ist und ein besseres Ergebnis erzielt. Andererseits können Kurven, die mithilfe der drawPath()
-Methode gesendet wurden, geringfügige Ausrichtungsfehler auf der Subpixelebene aufweisen, wenn sie gemeinsam mit der lineTo()
- oder curveTo()
-Methode verwendet werden.
Die drawPath()
-Methode verwendet auch leicht unterschiedliche Regeln für das Füllen und Zeichnen von Linien. Diese sind nachfolgend beschrieben:
- Beim Anwenden einer Füllung beim Darstellen eines Pfads:
- Ein Unterpfad, der kürzer als 3 Punkte ist, wird nicht dargestellt. (Beachten Sie jedoch, dass der Strich trotzdem dargestellt wird, und zwar in Übereinstimmung mit den Regeln für Striche, siehe unten.)
- Ein nicht geschlossener Unterpfad (Endpunkt und Anfangspunkt stimmen nicht überein) wird implizit geschlossen.
- Beim Anwenden eines Strichs beim Darstellen eines Pfads:
- Der Unterpfad kann aus einer beliebigen Anzahl an Punkten bestehen.
- Der Unterpfad wird niemals implizit geschlossen.
Parameter
commands:Vector.<int> — Ein Ganzzahlvektor, der die Zeichnenbefehle darstellt. Die zulässigen Werte werden durch die Konstanten in der GraphicsPathCommand-Klasse definiert.
| |
data:Vector.<Number> — Ein Vektor von Zahleninstanzen, bei dem jedes Zahlenpaar als Koordinatenposition behandelt wird (ein Paar bestehend aus x und y). Die Wertepaare aus x- und y-Koordinaten sind keine Point-Objekte. Der data -Vektor besteht aus einer Reihe von Zahlen, bei dem jede Zweiergruppe eine Koordinatenposition darstellt.
| |
winding:String (default = "evenOdd ") — Legt die Windungsregel mithilfe eines in der GraphicsPathWinding-Klasse definierten Werts fest.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
drawPath()
-Methode übergeben. Der erste Vektor, star_commands
, enthält eine Reihe von Konstanten, die Zeichnenbefehle aus der GraphicsPathCommand-Klasse darstellen. Der zweite Vektor, star_coord
, enthält fünf Sätze aus x- und y-Koordinatenpaaren. Die drawPath()
-Methode gleicht zum Zeichnen des Sterns die Befehle mit den Positionen ab.
package { import flash.display.*; public class DrawPathExample extends Sprite { public function DrawPathExample() { var star_commands:Vector.<int> = new Vector.<int>(5, true); star_commands[0] = GraphicsPathCommand.MOVE_TO; star_commands[1] = GraphicsPathCommand.LINE_TO; star_commands[2] = GraphicsPathCommand.LINE_TO; star_commands[3] = GraphicsPathCommand.LINE_TO; star_commands[4] = GraphicsPathCommand.LINE_TO; var star_coord:Vector.<Number> = new Vector.<Number>(10, true); star_coord[0] = 66; //x star_coord[1] = 10; //y star_coord[2] = 23; star_coord[3] = 127; star_coord[4] = 122; star_coord[5] = 50; star_coord[6] = 10; star_coord[7] = 49; star_coord[8] = 109; star_coord[9] = 127; graphics.beginFill(0x003366); graphics.drawPath(star_commands, star_coord); } } }
drawPath()
-Methode den Windungstyp „Gerade-Ungerade“. Dadurch wird die Mitte des Sterns nicht gefüllt. Legen Sie im dritten Parameter den Windungstyp „Nicht null“ fest, damit die Mitte des Sterns gefüllt wird:
graphics.drawPath(star_commands, star_coord, GraphicsPathWinding.NON_ZERO);
drawRect | () | Methode |
public function drawRect(x:Number, y:Number, width:Number, height:Number):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zeichnet ein Rechteck. Setzen Sie den Linienstil oder die Füllung oder beides, 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 ).
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
var movieClip:MovieClip = new MovieClip(); movieClip.graphics.beginFill(0xFF0000); movieClip.graphics.drawRect(0, 0, 100, 80); movieClip.graphics.endFill(); movieClip.x = 10; movieClip.y = 10; addChild(movieClip);
drawRoundRect | () | Methode |
public function drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number = NaN):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zeichnet ein abgerundetes Rechteck. Setzen Sie den Linienstil oder die Füllung oder beides, 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 (default = NaN ) — 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 ).
|
Verwandte API-Elemente
Beispiel
Verwendung dieses Beispiels
Am Ende des Abschnitts über diese Klasse finden Sie in Beispiel, in dem die Verwendung dieser Methode veranschaulicht wird.
drawTriangles | () | Methode |
public function drawTriangles(vertices:Vector.<Number>, indices:Vector.<int> = null, uvtData:Vector.<Number> = null, culling:String = "none"):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Stellt einen Satz an Dreiecken dar, normalerweise, um Bitmaps zu verzerren und ihnen ein dreidimensionales Aussehen zu verleihen. Die drawTriangles()
-Methode ordnet den Flächen von Dreiecken entweder die aktuelle oder eine Bitmapfüllung als Satz von Koordinaten (u,v) zu.
Es kann jeder Füllungstyp verwendet werden, aber wenn die Füllung über eine Transformationsmatrix verfügt, wird diese Transformationsmatrix ignoriert.
Ein uvtData
-Parameter verbessert bei der Verwendung einer Bitmapfüllung das Texturmapping.
Parameter
vertices:Vector.<Number> — Ein Zahlenvektor, bei dem jedes Zahlenpaar als Koordinatenposition behandelt wird (ein Paar bestehend aus x und y). Der vertices -Parameter wird benötigt.
| |
indices:Vector.<int> (default = null ) — Ein Ganzzahl- oder Indexvektor, bei dem jeweils drei Indexwerte ein Dreieck definieren. Ist der indexes -Parameter null, so definieren jeweils drei Scheitelpunkte (sechs x,y-Paare im vertices -Vektor) ein Dreieck. Andernfalls bezieht sich jede Indexposition auf einen Scheitelpunkt, d. h. ein Zahlenpaar im vertices -Vektor. Beispiel: indexes[1] verweist auf (vertices[2] , vertices[3] ). Der indexes -Parameter ist optional, allgemein verringern Indizes jedoch die gesendete und berechnete Datenmenge.
| |
uvtData:Vector.<Number> (default = null ) — Ein Vektor normalisierter Koordinaten, der für die Anwendung von Texturmapping verwendet wird. Jede Koordinate verweist auf einen Punkt in der Bitmap, der für die Füllung verwendet wird. Für jeden Scheitelpunkt muss es eine UV- oder UVT-Koordinate geben. Die UV-Koordinaten (0,0) entsprechen dem linken oberen Bereich der Bitmap, während (1,1) dem rechten unteren Bereich entspricht.
Entspricht die Länge dieses Vektors der doppelten Länge des Entspricht die Länge dieses Vektors der dreifachen Länge des Ist der | |
culling:String (default = "none ") — Legt fest, ob Dreiecke, die in eine festgelegte Richtung zeigen, dargestellt werden sollen. Dieser Parameter verhindert die Darstellung von Dreiecken, die in der aktuellen Ansicht nicht sichtbar sind. Dieser Parameter kann auf einen beliebigen in der TriangleCulling-Klasse festgelegten Wert gesetzt werden.
|
Verwandte API-Elemente
endFill | () | Methode |
public function endFill():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Verwandte API-Elemente
lineBitmapStyle | () | Methode |
public function lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Legt eine Bitmap fest, die beim Zeichnen von Linien für den Linienstrich verwendet wird.
Der Bitmaplinienstil wird für nachfolgende Aufrufe von Graphics-Methoden, z. B. lineTo()
oder drawCircle()
, verwendet. Der Linienstil bleibt wirksam, bis Sie die lineStyle()
- oderlineGradientStyle()
-Methode oder wieder die lineBitmapStyle()
-Methode mit anderen Parametern aufrufen.
Sie können die lineBitmapStyle()
-Methode während des Zeichnens eines Pfads aufrufen, um für unterschiedliche Linienabschnitte in einem Pfad unterschiedliche Stile zu verwenden.
Rufen Sie die lineStyle()
-Methode vor der lineBitmapStyle()
-Methode auf, um einen Strich zu aktivieren, andernfalls ist der Linienstil undefined
.
Wenn Sie die clear()
-Methode aufrufen, wird der Linienstil wieder auf undefined
gesetzt.
Parameter
bitmap:BitmapData — Die Bitmap, die für den Linienstrich verwendet wird.
| |
matrix:Matrix (default = null ) — Eine optionale Transformationsmatrix, wie sie in der flash.geom.Matrix-Klasse definiert ist. Die Matrix wird verwendet, um die Bitmap zu skalieren oder anderweitig zu bearbeiten, bevor sie auf den Linienstil angewendet wird.
| |
repeat:Boolean (default = true ) — Ob eine Bitmap in einem Kachelmuster wiederholt wird.
| |
smooth:Boolean (default = false ) — Ob auf die Bitmap eine Glättung angewendet wird.
|
Verwandte API-Elemente
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Legt einen Verlauf für den Strich beim Zeichnen von Linien fest.
Der Linienverlaufsstil wird für nachfolgende Aufrufe von Graphics-Methoden, z. B. lineTo()
oder drawCircle()
, verwendet. Der Linienstil bleibt wirksam, bis Sie die lineStyle()
- oderlineBitmapStyle()
-Methode oder wieder die lineGradientStyle()
-Methode mit anderen 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 die lineStyle()
-Methode vor der lineGradientStyle()
-Methode auf, um einen Strich zu aktivieren, andernfalls ist der Linienstil undefined
.
Wenn Sie die clear()
-Methode aufrufen, wird der Linienstil wieder auf undefined
gesetzt.
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 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 stellt die linke Position im Farbverlaufsfeld dar, 255 die rechte. 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
Die Werte im Array müssen sich sequenziell erhöhen. Beispiel: | |||||||||
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:
| |||||||||
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:
| |||||||||
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:
|
Verwandte API-Elemente
lineBitmapStyle()
flash.geom.Matrix.createGradientBox()
flash.display.GradientType
flash.display.SpreadMethod
Beispiel ( Verwendung dieses Beispiels )
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); } } }
lineShaderStyle | () | Methode |
public function lineShaderStyle(shader:Shader, matrix:Matrix = null):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Legt einen Shader für den Linienstrich beim Zeichnen von Linien fest.
Der Shaderlinienstil wird für nachfolgende Aufrufe von Graphics-Methoden, z. B. lineTo()
oder drawCircle()
, verwendet. Der Linienstil bleibt wirksam, bis Sie die lineStyle()
- oderlineGradientStyle()
-Methode oder wieder die lineBitmapStyle()
-Methode mit anderen Parametern aufrufen.
Sie können die lineShaderStyle()
-Methode während des Zeichnens eines Pfads aufrufen, um für unterschiedliche Linienabschnitte in einem Pfad unterschiedliche Stile zu verwenden.
Rufen Sie die lineStyle()
-Methode vor der lineShaderStyle()
-Methode auf, um einen Strich zu aktivieren, andernfalls ist der Linienstil undefined
.
Wenn Sie die clear()
-Methode aufrufen, wird der Linienstil wieder auf undefined
gesetzt.
Parameter
shader:Shader — Der für den Linienstrich zu verwendende Shader.
| |
matrix:Matrix (default = null ) — Eine optionale Transformationsmatrix, wie sie in der flash.geom.Matrix-Klasse definiert ist. Die Matrix wird verwendet, um die Bitmap zu skalieren oder anderweitig zu bearbeiten, bevor sie auf den Linienstil angewendet wird.
|
Verwandte API-Elemente
lineStyle | () | Methode |
public function lineStyle(thickness:Number = NaN, 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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Legt einen Linienstil fest, der für nachfolgende Aufrufe von Graphics-Methoden, z. B. lineTo()
oder drawCircle()
, verwendet wird. Der Linienstil bleibt wirksam, bis Sie die lineGradientStyle()
-Methode, die lineBitmapStyle()
-Methode oder wieder die lineStyle()
-Methode mit anderen Parametern aufrufen.
Sie können die lineStyle()
-Methode während des Zeichnens eines Pfads aufrufen, um für unterschiedliche Linienabschnitte in einem Pfad unterschiedliche Stile zu verwenden.
Hinweis: Wenn Sie die clear()
-Methode aufrufen, wird der Linienstil wieder auf undefined
gesetzt.
Hinweis: Flash Lite 4 unterstützt nur die ersten drei Parameter (thickness
, color
und alpha
).
Parameter
thickness:Number (default = NaN ) — 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 ) — (Nicht unterstützt in Flash Lite 4) Ein boolescher Wert, der angibt, ob Striche auf ganze Pixel gesetzt werden. Dies wirkt sich sowohl auf die Positionen der Anker einer Kurve als auch auf die Linienstärke des Strichs selbst aus. Wenn pixelHinting auf true gesetzt ist, werden die Linienstärken auf volle Pixel eingestellt. Ist pixelHinting auf false gesetzt, können Kurven und gerade Linien unterbrochen sein. In den folgenden Abbildungen wird veranschaulicht, wie Flash Player oder Adobe AIR zwei Rechtecke mit abgerundeten Ecken darstellen, die identisch sind, abgesehen davon, dass der pixelHinting -Parameter in der lineStyle() -Methode anders eingestellt ist (die Abbildungen sind um 200 % vergrößert, um den Unterschied deutlich zu zeigen):
Wird kein Wert angegeben, wird die Funktion nicht verwendet. | |||||||||||
scaleMode:String (default = "normal ") — (Nicht unterstützt in Flash Lite 4) Ein Wert aus der LineScaleMode-Klasse, die angibt, welcher Skalierungsmodus verwendet werden soll:
| |||||||||||
caps:String (default = null ) — (Nicht unterstützt in Flash Lite 4) 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 | |||||||||||
joints:String (default = null ) — (Nicht unterstützt in Flash Lite 4) 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 Hinweis: Ist | |||||||||||
miterLimit:Number (default = 3 ) — (Nicht unterstützt in Flash Lite 4) Eine Zahl, die die Grenze festlegt, an der ein Winkel abgeschnitten wird. Gültige Werte liegen zwischen 1 und 255 (Werte außerhalb dieses Bereichs werden auf 1 bzw. 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.
Betrachten Sie beispielsweise die folgenden Winkellinien mit einer Beachten Sie, dass bei einem gegebenen
|
Verwandte API-Elemente
Beispiel
Verwendung dieses Beispiels
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 ( Verwendung dieses Beispiels )
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 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 ( Verwendung dieses Beispiels )
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); } } }
readGraphicsData | () | Methode |
public function readGraphicsData(recurse:Boolean = true):Vector.<IGraphicsData>
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11.6, AIR 3.6 |
Fragt ein Sprite- oder Shape-Objekt (und optional seine untergeordneten Elemente) nach dem Vektorgrafikinhalt ab. Das Ergebnis ist ein Vektor von IGraphicsData-Objekten. Transformationen werden auf das Anzeigeobjekt vor der Abfrage angewendet, damit sich die zurückgegebenen Pfade alle im Koordinatenraum befinden. Koordinaten in den Ergebnisdaten befinden sich relativ zur Bühne, nicht zum gesampelten Anzeigeobjekt.
Das Ergebnis beinhaltet die folgenden Objekttypen innerhalb der angegebenen Beschränkungen:
- GraphicsSolidFill
- GraphicsGradientFill
- Alle Eigenschaften des Farbverlaufs werden von
readGraphicsData()
zurückgegeben. - Die zurückgegebene Matrix ähnelt der Eingabematrix, ist aber nicht dieselbe.
- Alle Eigenschaften des Farbverlaufs werden von
- GraphicsEndFill
- GraphicsBitmapFill
- Die zurückgegebene Matrix ähnelt der Eingabematrix, ist aber nicht dieselbe.
repeat
ist immer „true“.smooth
ist immer „false“.
- GraphicsStroke
thickness
wird unterstützt.fill
unterstützt GraphicsSolidFill, GraphicsGradientFill und GraphicsBitmapFill, wie zuvor beschrieben.- Alle anderen Eigenschaften haben Standardwerte.
- GraphicsPath
- Die einzigen unterstützten Befehle sind MOVE_TO, CURVE_TO und LINE_TO.
Die folgenden visuellen Elemente und Transformationen können nicht dargestellt werden und sind nicht in den Ergebnissen enthalten:
- Masken
- Text (mit einer Ausnahme): Statischer Text, der mit Anti-Aliasing-Typ („Anti-Aliasing für Animation“) definiert ist, wird als Vektorformen gerendert, sodass er im Ergebnis angezeigt wird.
- Shader-Füllungen
- Füllmethoden
- Skalierung im 9-teiligen Segmentraster
- Dreiecke (erstellt mit der
drawTriangles()
-Methode) - Undurchsichtiger Hintergrund
scrollrect
-Einstellungen- 2.5D-Transformationen
- Nicht sichtbare Objekte (Objekte, deren
visible
-Eigenschaftfalse
ist)
Parameter
recurse:Boolean (default = true ) — ungeachtet dessen, ob die Laufzeit auch die untergeordneten Elemente des Anzeigeobjekts des derzeitigen Anzeigeobjekts abfragen soll. Die Ausführung einer rekursiven Abfrage kann länger dauern und mehr Speicher verwenden. Die Ergebnisse werden in einem einzelnen vereinfachten Ergebnissatz zurückgegeben (nicht durch das Anzeigeobjekt getrennt).
|
Vector.<IGraphicsData> — Ein Vektor von IGraphicsData-Objekten, der den Vektorgrafikinhalt des entsprechenden Anzeigeobjekts darstellt,
|
Verwandte API-Elemente
GraphicsSolidFille-Klasse
GraphicsGradientFill-Klasse
GraphicsEndFill-Klasse
GraphicsStroke-Klasse
GraphicsBitmapFill-Klasse
GraphicsPath-Klasse
drawGraphicsData()-Methode
Beispiel ( Verwendung dieses Beispiels )
readGraphicsData()
-Methode, um den Vektorgrafikinhalt eines Anzeigeobjekts abzurufen. Wenn der Benutzer mit der Maus auf die Bühne klickt, wird der Inhalt in ein anderes Objekt auf der Bühne gezogen.
Obwohl der Originalvektorinhalt mithilfe der drawGraphicsData()
-Methode gezogen wird, stimmen die Datenobjekte, die von der readGraphicsData()
-Methode abgerufen wurden, nicht genau mit denen überein, die der drawGraphicsData()
-Methode übergeben wurden. Beispielsweise enthalten die Ergebnisdaten GraphicsSolidFill- und GraphicsEndFill-Befehle, die beide impliziert, aber nicht wirklich in den Originalgrafikdaten vorhanden sind.
package { import flash.display.GraphicsPathCommand; import flash.display.IGraphicsData; import flash.display.Shape; import flash.display.Sprite; import flash.events.MouseEvent; public class ReadGraphicsDataExample extends Sprite { private var original:Shape; private var copy:Shape; public function ReadGraphicsDataExample() { original = new Shape(); original.x = 50; original.y = 100; addChild(original); drawSquare(); copy = new Shape(); copy.x = 250; copy.y = 100; addChild(copy); stage.addEventListener(MouseEvent.CLICK, drawCopyOnClick); } private function drawCopyOnClick(event:MouseEvent):void { // reset copy.graphics.clear(); // Sample the vector data. Move the original to 0,0 // before sampling so that the coordinates match the // relative coordinates of the original. var xPos:Number = original.x; var yPos:Number = original.y; original.x = 0; original.y = 0; var result:Vector.<IGraphicsData> = original.graphics.readGraphicsData(false); original.x = xPos; original.y = yPos; // re-draw copy.graphics.drawGraphicsData(result); } private function drawSquare():void { var squareCommands:Vector.<int> = new Vector.<int>(5, true); squareCommands[0] = GraphicsPathCommand.MOVE_TO; squareCommands[1] = GraphicsPathCommand.LINE_TO; squareCommands[2] = GraphicsPathCommand.LINE_TO; squareCommands[3] = GraphicsPathCommand.LINE_TO; var squareCoordinates:Vector.<Number> = new Vector.<Number>(8, true); squareCoordinates[0] = 0; squareCoordinates[1] = 0; squareCoordinates[2] = 50; squareCoordinates[3] = 0; squareCoordinates[4] = 50; squareCoordinates[5] = 50; squareCoordinates[6] = 0; squareCoordinates[7] = 50; original.graphics.beginFill(0x003366); original.graphics.drawPath(squareCommands, squareCoordinates); } } }
- Deklarieren Sie eine
size
-Eigenschaft zur späteren Verwendung beim Bestimmen der Größe der einzelnen Formen. - 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.
- 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.
- 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); } } }
Tue Jun 12 2018, 10:04 AM Z