Funktionsdeklaration und Parametrisierung der Gesamtkurve

Ergebnis der swf-Datei

Für die gezeichnete Gesamtkurve wurde eine Funktion definiert und aufgerufen.

Der Programmcode ohne Erklärungen

Codeabschnitte, die sich nicht vom vorigen Arbeitsschritt unterscheiden, werden grau geschrieben.

// BÜHNENRECHTECK MIT FARBE FÜLLEN UND KONTURIEREN
fillStage(1, 0xFF0000, 0xCCCCFF);
/*
ZEICHNEN EINER WELLENLINIE
*/
var point = new Array();
point.x = 0;
point.y = Stage.height/2;

curve(point, 45, 200, 1, 0x000000);
/*
DEKLARATION DER FUNKTIONEN
curve(), baseCurve() UND fillStage()
*/
function curve(pt:Array, a:Number, b:Number, lineWidth:Number, lineColor:Number):Void {
   this.lineStyle(lineWidth, lineColor);
   this.moveTo(pt.x, pt.y);
   do {
      pt = baseCurve(pt, a, b);
   } while (0<=pt.x && pt.x<Stage.width && 0<=pt.y && pt.y<Stage.height);
}
function baseCurve(pt:Array, a:Number, b:Number):Array {
   this.curveTo(pt.x+a/4, pt.y-b/2, pt.x+a/2, pt.y);
   this.curveTo(pt.x+3*a/4, pt.y+b/2, pt.x+a, pt.y);
   pt.x = pt.x+a;
   return pt;
}
function fillStage(lineWidth:Number, lineColor:Number, fillColor:Number):Void {
   this.lineStyle(lineWidth, lineColor);
   this.beginFill(fillColor);
   this.moveTo(0, 0);
   this.lineTo(Stage.width-1, 0);
   this.lineTo(Stage.width-1, Stage.height-1);
   this.lineTo(0, Stage.height-1);
   this.lineTo(0, 0);
   this.endFill();
}

 

Der Programmcode mit Erklärungen

Parametrisierung der Gesamtkurve

Die Gesamtkurve ist durch folgende Eingabeparamter charkterisiert:

  • Ausgangspunkt
  • Breite des Basiskurvenabschnitts
  • Höhe des Basiskurvenabschnitts
  • Linienstärke
  • Linienfarbe

Funktionsdeklaration

function curve(pt:Array, a:Number, b:Number, lineWidth:Number, lineColor:Number):Void {
   this.lineStyle(lineWidth, lineColor);
   this.moveTo(pt.x, pt.y);
   do {
      pt = baseCurve(pt, a, b);
   } while (0<=pt.x && pt.x<Stage.width && 0<=pt.y && pt.y<Stage.height);

Bevor in der do-while-Schleife unter Verwendung der Basiskurvenfunktion baseCurve die Gesamtkurve gezeichnet wird, werden Linienstil und der Ausgangspunkt festgelegt.

Die Eingabeparameter pt, a, b der Funktion curve werden dabei unverändert an die Eingabeparameter der "Unterfunktion" baseCurve weitergereicht.