art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 06.02.2005, 12:06   #1
TP-Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Oct 2002
Ort: Berlin/Germany
Madokan bringt sich richtig ein
Post

MovieClip.prototype.wabber und Wabber-Klasse


Vom Prototype zur Klasse und den diversen Lösungsansätzen.

ActionScript 1.0

Hier haben wir den Wabber-Prototype, welcher direkt im Flash Film untergebracht wird. Es wird ein MovieClip-Symbol mit dem Verknüpfungsbezeichner Clip und zwei MovieClip-Instanzen mc und mc2 benötigt.

PHP-Code:
MovieClip.prototype.wabber = function(multiplikatorxskalyskalratio) {
    if (
this.sX == undefinedthis.sX 0;
    if (
this.sY == undefinedthis.sY 0;    
    
this.onEnterFrame = function() {
        
this.sX Number(this.sX*multiplikator)+Number((xskal-this._xscale)*ratio);
        
this.sY Number(this.sY*multiplikator)+Number((yskal-this._yscale)*ratio);
        
this._xscale += Math.round(this.sX);
        
this._yscale += Math.round(this.sY);
    };
};
MovieClip.prototype.wabberKill = function(multiplikatorxskalyskalratio) {
    if (
this.sX == undefinedthis.sX 0;
    if (
this.sY == undefinedthis.sY 0;
    
this.onEnterFrame = function() {
        if (
this._xscale != xskal || this._yscale != yskal) {
            
this.sX Number(this.sX*multiplikator)+Number((xskal-this._xscale)*ratio);
            
this.sY Number(this.sY*multiplikator)+Number((yskal-this._yscale)*ratio);
            
this._xscale += Math.round(this.sX);
            
this._yscale += Math.round(this.sY);
        } else {
            
delete this.onEnterFrame;
        }
    };
};

// Clip Wabber
mc.wabber(.9150150.3);
mc.onRollOver = function() {
    
this.wabber(.9150150.3);
};
mc.onRollOut = function() {
    
this.wabber(.9100100.3);
};

// Clip WabberKill
mc_2.wabberKill(.9150150.3);
mc_2.onRollOver = function() {
    
this.wabberKill(.9150150.3);
};
mc_2.onRollOut = function() {
    
this.wabberKill(.9100100.3);
}; 

----


ActionScript 2.0

Hier haben wir drei ActionScript 2.0 Lösungsansätze (Simple, Register, Comp).

Simple-Version Wabber.as - Skript

Diese Version gehört zur Standard-Lösung. Die Klasse Wabber wird hierbei von der MovieClip-Klasse abgeleitet.

PHP-Code:
class Wabber extends MovieClip {
    
    
// Prop
    
private var sX:Number;
    private var 
sY:Number;
    
    
// Constructor
    
function Wabber() {}
    
    
// Effekt wabbern
    
public function wabbern(multiplikator:Numberxskal:Numberyskal:Numberratio:Number):Void {
        if (
sX == undefinedsX 0;        
        if (
sY == undefinedsY 0;
        
onEnterFrame = function() {
            
sX Number(sX*multiplikator)+Number((xskal-_xscale)*ratio);
            
sY Number(sY*multiplikator)+Number((yskal-_yscale)*ratio);
            
_xscale += Math.round(sX);
            
_yscale += Math.round(sY);
        };
    }
    
    
// Effekt wabbern_kill
    
public function wabbern_kill(multiplikator:Numberxskal:Numberyskal:Numberratio:Number):Void {
        if (
sX == undefinedsX 0;
        if (
sY == undefinedsY 0;
        
onEnterFrame = function() {
            if (
_xscale != xskal || _yscale != yskal) {
                
sX Number(sX*multiplikator)+Number((xskal-_xscale)*ratio);
                
sY Number(sY*multiplikator)+Number((yskal-_yscale)*ratio);
                
_xscale += Math.round(sX);
                
_yscale += Math.round(sY);            
            } else {            
                
delete onEnterFrame;
            }
        };
    }


Flash Film Simple-Version - Skript

Flash Film (es wird lediglich ein Movieclip-Symbol mit dem Verknüpfungsbezeichner Clip vorausgesetzt) - die Verknüpfung zur Klasse muss ebenfalls zugewiesen werden.

PHP-Code:
// Clip wabber
mc.wabbern(.9150150.3);

mc.onRollOver = function()
{
    
this.wabbern(.9150150.3);
}
mc.onRollOut = function()
{   
    
this.wabbern(.9100100.3);
}


// Clip wabbern_kill
mc_2.wabbern_kill(.9150150.3);

mc_2.onRollOver = function()
{
    
this.wabbern_kill(.9150150.3);
}
mc_2.onRollOut = function()
{   
    
this.wabbern_kill(.9100100.3);



Dyn-Version Wabber.as - Skript

Wie man sieht wird die Klasse Wabber von der Klasse MovieClip abgeleitet!

PHP-Code:
class Wabber extends MovieClip {
    
    
// Prop
    
private var sX:Number;
    private var 
sY:Number;
    
    
// Constructor    
    
public function Wabber() {}
    
    
// Effekt wabbern
    
public function wabbern(multiplikator:Numberxskal:Numberyskal:Numberratio:Number):Void {
        if (
sX == undefinedsX 0;        
        if (
sY == undefinedsY 0;
        
onEnterFrame = function() {
            
sX Number(sX*multiplikator)+Number((xskal-_xscale)*ratio);
            
sY Number(sY*multiplikator)+Number((yskal-_yscale)*ratio);
            
_xscale += Math.round(sX);
            
_yscale += Math.round(sY);
        };
    }
    
    
// Effekt wabbern_kill
    
public function wabbern_kill(multiplikator:Numberxskal:Numberyskal:Numberratio:Number):Void {
        if (
sX == undefinedsX 0;
        if (
sY == undefinedsY 0;        
        
onEnterFrame = function() {
            if (
_xscale != xskal || _yscale != yskal) {
                
sX Number(sX*multiplikator)+Number((xskal-_xscale)*ratio);
                
sY Number(sY*multiplikator)+Number((yskal-_yscale)*ratio);
                
_xscale += Math.round(sX);
                
_yscale += Math.round(sY);            
            } else {            
                
delete onEnterFrame;
            }
        };
    }

Flash Film Dyn-Version - Skript

Flash Film (es wird lediglich ein Movieclip-Symbol mit dem Verknüpfungsbezeichner Clip vorausgesetzt) - die Verknüpfung zur Klasse übernimmt Object.registerClass()

PHP-Code:
// Symbol Clip und Wabber-Klasse
Object.registerClass("Clip"Wabber);

// MC
this.attachMovie ("Clip""mc"1, {_x:160_y:200});

mc.wabbern(.9150150.3);

mc.onRollOver = function()
{
    
this.wabbern(.9150150.3);
}
mc.onRollOut = function()
{   
    
this.wabbern(.9100100.3);
}

// MC2
this.attachMovie ("Clip""mc2"2, {_x:410_y:200});

mc2.wabbern_kill(.9150150.3);

mc2.onRollOver = function()
{
    
this.wabbern_kill(.9150150.3);
}
mc2.onRollOut = function()
{   
    
this.wabbern_kill(.9100100.3);



Comp-Version Wabber.as - Skript

Eine Ableitung von der Klasse MovieClip ist in diesem Fall nicht notwendig.

PHP-Code:
class Wabber {
    
    
// Prop
    
private var ziel:MovieClip;
    
    
// Constructor    
    
public function Wabber(ziel:MovieClip
    {
        
this.ziel ziel;        
    }
    
    
// Effekt wabbern
    
public function wabbern(multiplikator:Numberxskal:Numberyskal:Numberratio:Number):Void {        
        if (
ziel.sX == undefinedziel.sX 0;        
        if (
ziel.sY == undefinedziel.sY 0;
        
ziel.onEnterFrame = function() {            
            
this.sX Number(this.sX*multiplikator)+Number((xskal-this._xscale)*ratio);
            
this.sY Number(this.sY*multiplikator)+Number((yskal-this._yscale)*ratio);            
            
this._xscale += Math.round(this.sX);
            
this._yscale += Math.round(this.sY);
        };
    }
    
    
// Effekt wabbern_kill
    
public function wabbern_kill(multiplikator:Numberxskal:Numberyskal:Numberratio:Number):Void {
        if (
ziel.sX == undefinedziel.sX 0;        
        if (
ziel.sY == undefinedziel.sY 0;
        
ziel.onEnterFrame = function() {
            if (
this._xscale != xskal || this._yscale != yskal) {
                
this.sX Number(this.sX*multiplikator)+Number((xskal-this._xscale)*ratio);
                
this.sY Number(this.sY*multiplikator)+Number((yskal-this._yscale)*ratio);            
                
this._xscale += Math.round(this.sX);
                
this._yscale += Math.round(this.sY);            
            } else {            
                
delete this.onEnterFrame;
            }
        };
    }    

Flash Film Comp-Version - Skript

Flash Film (es wird lediglich ein Movieclip-Symbol mit dem Verknüpfungsbezeichner Clip vorausgesetzt) - die Verknüpfung zum MovieClip übernimmt die Klasse selbst.

PHP-Code:
// Clip Objekt
var clip:Wabber = new Wabber(this.mc);
clip.wabbern(.9150150.3);

mc.onRollOver = function()
{
    
clip.wabbern(.9150150.3);
}
mc.onRollOut = function()
{   
    
clip.wabbern(.9100100.3);
}

// Clip2 Objekt
var clip2:Wabber = new Wabber(this.mc2);
clip2.wabbern_kill(.9150150.3);

mc2.onRollOver = function()
{
    
clip2.wabbern_kill(.9150150.3);
}
mc2.onRollOut = function()
{   
    
clip2.wabbern_kill(.9100100.3);

Hinweis
Im Anhang wabber_klassen_2005.zip sind sämtliche vier Versionen enthalten pickt euch euren Favoriten heraus (Prototype, Simple, Register, Comp). So lernt man auch gleich vier unterschiedliche Lösungsansätze kennen.
Be inspired!

Liebe Grüsse
Matze K.
Angehängte Dateien
Dateityp: zip wabber_klassen_2005.zip (70,8 KB, 749x aufgerufen)
Madokan ist offline   Mit Zitat antworten
Linktipp

Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash > Sammlung Actionscript 1 und 2
MovieClip.prototype.wabber und Wabber-Klasse MovieClip.prototype.wabber und Wabber-Klasse
« Date.prototype.getLeapYear | Senkrecht - Slider »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Webseiten und Datenschutz - ein paar grundsätzliche Infos Jokai olvaso Business allgemein 32 02.10.2007 01:30
Was ich denn so den ganzen Tag lang mache LauneDerNatur Einfach so ... 4 03.02.2005 09:45
Selbstständigkeit unter 18 Bitte erst lesen ! Epic Gründung & Selbstständigkeit 0 08.08.2004 20:49


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:38 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 RC7 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67