tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
0
ZUGRIFFE
3507
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jun 2004
    Ort
    Zürich
    Beiträge
    1.359
    Blog-Einträge
    8
    Hallo,

    hier zwei MovieClip-Erweiterungen, mit denen sich zu Laufzeit Geraden zeichnen lassen. Vielleicht hat jemand Verwendung dafür.
    ACHTUNG: Der Code ist in AS 2.0 verfasst, funktioniert also erst ab MX 2004 bzw. Player v7.


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    MovieClip.prototype.drawSlowingLine = function (vel: Number, d: Number, sX: Number, sY: Number, eX: Number, eY: Number, th: Number, cl: Number, al: Number): Void {
        
        var u: Number = this.getNextHighestDepth();
        if (!this.slowingLineCT) {
            this.createEmptyMovieClip("slowingLineCT", u);
        }
        
        var currentX: Number = sX;
        var currentY: Number = sY;  
        var xDif: Number;
        var yDif: Number;
        
        this.slowingLineCT.onEnterFrame = function () {
            if (d > 0) {
                d--;
            } else {
                xDif = endX - currentX;     
                yDif = endY - currentY;
                
                xDif *= vel;
                yDif *= vel;
                
                currentX += xDif
                currentY += yDif
                
                with (this._parent) {
                    clear();
                    lineStyle(th, cl, al);
                    moveTo(sX, sY);
                    lineTo(currentX, currentY);
                }
                if (xDif < 1 && yDif < 1) delete this.onEnterFrame;
            }
        }
    }

    Beschreibung:
    Zeichnet mit abnehmender Geschwindigkeit eine Line von Punkt A nach Punkt B.

    Code :
    1
    
    meinMovieClip.drawSlowingLine (Geschwindigkeit, Startpunkt x, Startpunkt y, Endpunkt x, Endpunkt y, Breite, Farbe, Transparenz)


    Geschwindigkeit: Number, Geschwindigkeit der Animation, muss grösser als 0 aber kleeiner als 1 sein.
    Verzögerung: Number, Anzahl Frames, die abspielen, bevor die Animation beginnt
    Startpunkt x, y: Number, die Koordinaten des Startpunktes, von dem aus die Linie gezeichnet wird.
    Endpunkt x, y: Number, die Koordinaten des Endpunktes, zu dem die Linie gezeichnet wird.
    Breite: Number, Breite der zu zeichnenden Linie in Pixel.
    Farbe: Number, Hexadezimal-Wert für die Farbe der zu zeichnenden Linie (z.B. 0xff6622).
    Transparenz: Number, Alpha-Wert für die zu zeichnende Linie. Muss grösser als 0 und kleiner als 100 sein.



    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
    MovieClip.prototype.drawSteadyLine = function (vel: Number, d: Number, sX: Number, sY: Number, eX: Number, eY: Number, th: Number, cl: Number, al: Number): Void {
        
        var u: Number = this.getNextHighestDepth();
        if (!this.steadyLineCT) {
            this.createEmptyMovieClip("steadyLineCT", u);
        }
        
        var cX: Number = sX;
        var cY: Number = sY;
        
        var xDif: Number = eX-sX;
        var yDif: Number = eY-sY;
        
        var xStep: Number = xDif/vel;
        var yStep: Number = yDif/vel;
        
        this.steadyLineCT.onEnterFrame = function () {
            if (d > 0) {
                d--;
            } else {
                cX += xStep;
                cY += yStep;
                
                xDif = eX - cX;
                yDif = eY - cY;
                
                with (this._parent) {
                    clear();
                    lineStyle(th, cl, al);
                    moveTo(sX, sY);
                    lineTo(cX, cY);
                }
                if (xDif < 1 && yDif < 1) delete this.onEnterFrame;
            }
        }
    }

    Beschreibung:
    Zeichnet mit gleichbleibender Geschwindigkeit eine Line von Punkt A nach Punkt B.

    Code :
    1
    
    meinMovieClip.drawSteadyLine (Geschwindigkeit, Startpunkt x, Startpunkt y, Endpunkt x, Endpunkt y, Breite, Farbe, Transparenz)


    Geschwindigkeit: Number, Anzahl Schritte/Frames, während denen die Animation abgespielt wird. Muss eine Ganzzahl und grösser als 0 sein.
    Verzögerung: Number, Anzahl Frames, die abspielen, bevor die Animation beginnt
    Startpunkt x, y: Number, die Koordinaten des Startpunktes, von dem aus die Linie gezeichnet wird.
    Endpunkt x, y: Number, die Koordinaten des Endpunktes, zu dem die Linie gezeichnet wird.
    Breite: Number, Breite der zu zeichnenden Linie in Pixel.
    Farbe: Number, Hexadezimal-Wert für die Farbe der zu zeichnenden Linie (z.B. 0xff6622).
    Transparenz: Number, Alpha-Wert für die zu zeichnende Linie. Muss grösser als 0 und kleiner als 100 sein.

    gruss
    Geändert von luke_the_duke (13.11.06 um 13:40 Uhr)
     

Ähnliche Themen

  1. Linien zeichnen: nacheinander
    Von harrry im Forum Flash Plattform
    Antworten: 7
    Letzter Beitrag: 11.10.07, 17:20
  2. Ränder bei Linien zeichnen (?)
    Von Dyvor im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 13.06.05, 15:58
  3. **linien, die sich selber zeichnen
    Von Jersey im Forum Flash Plattform
    Antworten: 13
    Letzter Beitrag: 05.10.04, 12:00
  4. Linien zeichnen
    Von firezz im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 10.05.04, 23:23
  5. geschwungene Linien zeichnen
    Von MoguaiM im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 31.03.04, 19:50