Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-05-2006, 13:53   #1 (permalink)
FlashForRum
 
Benutzerbild von störie
 
Registriert seit: Oct 2004
Ort: börlinn
Beiträge: 583
Question Interval: this == undefined

aloah folx!

irgendwie steh ich aufm schlauch.
ich hab nen setInterval gehackt, der auch aufgerufen wird.
aber egal ob die funktion die er aufruft einfach nur bouncer() oder this.bouncer() heisst, innerhalb dieser funktion is this undefined?

...wahrscheinlich nur wieder irgend n doofer verraffer aufgrund von nichrichtigcheckenwasichdaüberhauptmach... ich komm nich drauf.

kann mir da wer helfen?

PHP-Code:
MovieClip.prototype.hibbeln = function (){
    
bouncer = function(){
        
trace(this);
    }
    var 
bouncing setInterval(bouncer500);

warum liegt die bouncerfunktion "nirgends" und wird aber trotzdem ausgeführt?

warum raff ich s immer noch nicht mir nen sauberen setInterval zu hacken?

was wird anja zu gregor sagen, nachdem sie herrausgefunden hat, dass er sie seit tagen mit sabine hintergeht?

...das und mehr nach der werbung!

gruss
strie!
__________________
>>Achim Fehltdawas<<
°-°
mySite
myFlash-toons
mySpace
störie ist offline   Mit Zitat antworten
Alt 10-05-2006, 14:08   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tach...

PHP-Code:
MovieClip.prototype.hibbeln = function (){ 
    
bouncer = function(tl){ 
        
trace(tl); 
    } 
    var 
bouncing setInterval(bouncer500,this); 

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 10-05-2006, 14:14   #3 (permalink)
FlashForRum
 
Benutzerbild von störie
 
Registriert seit: Oct 2004
Ort: börlinn
Beiträge: 583
aaah!
kuhl!
...klar!
DANKE!

aber WIESO ist this undefined?
is das "normal"?
__________________
>>Achim Fehltdawas<<
°-°
mySite
myFlash-toons
mySpace
störie ist offline   Mit Zitat antworten
Alt 11-05-2006, 08:35   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
ist normal
ActionScript:
  1. a=function(){
  2.     trace("bin a und hier: "+this)
  3. }
  4. b=function(referenzVonA){
  5.     //übergeben wird die Referenz zur Funktion a
  6.     //this ist wie zu erwarten gesetzt (!=undefined)
  7.     trace("Bin b und rufe a auf, bin hier: "+this)
  8.     //führe ich die referenz direkt aus, so ist dort this undefined
  9.     referenzVonA()
  10.     //ich kann aber das this setzen
  11.     referenzVonA.apply(this)
  12.     //oder a nicht über die referenz, sondern direkt am ort der dekalration aufrufen
  13.     //das ist mit dem apply vergleichbar
  14.     this.a()
  15. }
  16. c=function(){
  17.     //this zeigt auf _root, dort liegt auch b, also funktioniert,
  18.     //this.b() und b()
  19.     trace("bin c und steuere das ganze, bin hier: "+this)
  20.     this.b(a)
  21. }
  22. // startet den test udn ruft b an ort der deklaration auf,
  23.  
  24. c()

Das this einer Funktion zeigt auf das Objekt(das kann auch eine Timeline eines MCs sein), wo die deklariert wurde, bzw bei prototypes wo sie aufgerufen wird.
Bei ner funktion im _root zeigt this auf den root. Aber uch nur weil du die funktion generell per _root.funktion() aufrufst, wenn du nur die Referenz auf eine Funktion weitergibst, weiß Flash nicht mehr zu welchem Objekt die Funktion gehört. Dann schafft nen apply abhilfe, welches die funktion auf dem ursprünglichen Objekt wieder ausf+hren kann(wo dan nauch this auf das Objekt zeigt). geschieht sowas nicht, bleibt this undefined.

grüße
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 11-05-2006, 09:09   #5 (permalink)
FlashForRum
 
Benutzerbild von störie
 
Registriert seit: Oct 2004
Ort: börlinn
Beiträge: 583
oh! kay!

heut wieder was gelernt!

merci!

strie
__________________
>>Achim Fehltdawas<<
°-°
mySite
myFlash-toons
mySpace
störie 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 16:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele