Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-07-2004, 09:22   #1 (permalink)
Neuer User
 
Benutzerbild von destroy90210
 
Registriert seit: Feb 2002
Ort: wien
Beiträge: 458
setInterval übergabe von this

hiho

habe da ein kleines prob ich rufe eine funktion auf wo sich ein setInterval drinnen befindet leider kann ich nur ein this übergeben beim zweiten bekomme ich nicht mal ein undefined er schrebt beim tracen einfach gar nix hin...

hier mal das script

der aufruf
PHP-Code:
_root.dummyGegenstaendeMC.fadeOut(1,3);
_root.bg1.fadeOut(2,3); 
die function
PHP-Code:
MovieClip.prototype.fadeOut = function(ID,key) {
    var 
mc this;
    
mc["fadeout"+ID] = setInterval(function () {
                
trace("ID: "+ID);
                
trace("mc: " mc);
        if (
mc._alpha>0) {
            
mc._alpha -= 5;
        } else {
            
clearInterval(mc["fadeout"+ID]);
            
trace("----------");
            
k++;
            
mc.removeMovieClip();
            
gotoAndStop(key);
        }
        
// hier updaten 

    
},20,key);
}; 
beim trcen kommt dann folegndes raus das erste setInerval wird gelöscht aber das zweite gar ned da erkennt er das mc ned oder so kein plan genau was da passiert...


Zitat:
----------
ID: 1
mc: _level0.dummyGegenstaendeMC
ID: 2
mc:
----------
ID: 1
mc: _level0.dummyGegenstaendeMC
---------- // ab da wir ID 1 auch super gelöscht aber 2 gar ned und der traced ja nicht mal den mc also den pfad
ID: 2
mc:
----------
ID: 2
mc:
----------
ID: 2
mc:
----------
mfg,
destroy90210
destroy90210 ist offline   Mit Zitat antworten
Alt 08-07-2004, 10:53   #2 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
bei mir loofts einwandfrei ! beide werden gelöscht

PHP-Code:
MovieClip.prototype.fadeOut = function(IDkey) {
    var 
mc this;
    
mc["fadeout"+ID] = setInterval(function () {
        
trace("ID: "+ID);
        
trace("mc: "+mc);
        if (
mc._alpha>0) {
            
mc._alpha -= 5;
        } else {
            
clearInterval(mc["fadeout"+ID]);
            
trace("----------");
            
k++;
            
mc.removeMovieClip();
            
gotoAndStop(key);
        }
        
// hier updaten
    
}, 20key);
};
this.mcA.fadeOut(13);
this.mcB.fadeOut(23); 
vielleicht ist der pfad nicht richtig ??? ich würde dir auch dazu raten kein root mehr zu benutzen ist verdammt gefährlich meiner erfahrung nach!
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Alt 08-07-2004, 11:01   #3 (permalink)
Flashaholic
 
Benutzerbild von atothek
 
Registriert seit: Feb 2003
Ort: Berlin
Beiträge: 1.459
und warum this nicht geht liegt an einer eigenart vom setInterval und hat mit dem scope zu tun um ein this verwenden zu können muß man das handlerObject mit übergeben das sähe dann so aus

PHP-Code:
this.interval=setInterval(this"functionNameAlsString"20parameter); 
dann kann man auch ein this inerhalb der aufgerufenen methode verwenden

guckste hier

PHP-Code:
// public methode 
MovieClip.prototype.fadeOut = function(key) {
    
this.interval setInterval(this"__internFadeOut"20key);
};
// interne private methode
MovieClip.prototype.__internFadeOut = function(key) {
    
trace("mc: "+this);
    if (
this._alpha>0) {
        
this._alpha -= 5;
    } else {
        
clearInterval(this.interval);
        
trace("----------");
        
k++;
        
this.removeMovieClip();
        
gotoAndStop(key);
    }
    
updateAfterEvent();
};
this.mcA.fadeOut(3);
this.mcB.fadeOut(3); 
__________________
TVNEXT Solutions
atothek ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele