2009-06-30 4 views
0

Ich habe Probleme mit TweenLite in AS2.Tweenlite as2 oncomplete

Ich habe eine Klasse erstellt, die ich auf der Hauptzeitleiste aufrufen. Innerhalb der Klasse habe ich Bilder geladen und sobald sie geladen sind, möchte ich zwischen ihnen verschwinden. Ich rufe (in meiner Klasse) den folgenden Code, wenn die Bilder fertig geladen haben:

TweenLite.to(_root["loadedimg1"], 1, {_alpha: 100, 
      onComplete:doImageLoop, onCompleteParams:[1], onCompleteScope:this}); 

ich die folgende Funktion dann haben die Fade-Schleife zu tun:

public function doImageLoop(imageId:Number):Void 
{ 
    trace(imageId); 
    var newImageId:Number; 
    TweenLite.to(_root["loadedimg" + imageId], 1, {delay:2, _alpha: 0}); 
    if ((imageId + 1) > queueCount) { 
     newImageId = 1; 
    } else { 
     newImageId = imageId + 1; 
    } 
    TweenLite.to(_root["loadedimg"+newImageId], 1, {delay:3, _alpha: 100, 
       onComplete:doImageLoop, onCompleteParams:[newImageId], 
       onCompleteScope:this, overwrite:0}); 
    } 

Diese Funktion nie getroffen wird, aber Dieses erste Bild wird eingeblendet.

Antwort

0

Ihr Code funktioniert perfekt mit mir .. Ich mache immer noch ein paar kleinere AS2 Zeug, also dachte ich, ich würde versuchen, Ihnen zu antworten. Ich habe drei Bilder auf die Bühne gestellt: lowedimg1, loadeimg2 und loadedimg3. Dann habe ich einen leeren MovieClip mit einer damit verbundenen Klasse namens 'test' erstellt. Die Klasse enthält den folgenden Code:

import gs.TweenLite; 

class test extends MovieClip { 
private var queueCount : Number = 3; 

function test() { 
    TweenLite.to(_root["loadedimg1"],1,{_alpha:100, onComplete:doImageLoop, onCompleteParams:[1], onCompleteScope:this}); 
} 

function doImageLoop(imageId:Number):Void { 
    trace(imageId); 
    var newImageId:Number; 
    TweenLite.to(_root["loadedimg"+imageId],1,{delay:2, _alpha:0}); 
    if ((imageId+1)>queueCount) { 
     newImageId = 1; 
    } else { 
     newImageId = imageId+1; 
    } 
    TweenLite.to(_root["loadedimg"+newImageId],1,{delay:3, _alpha:100, onComplete:doImageLoop, onCompleteParams:[newImageId], onCompleteScope:this, overwrite:0}); 
} 
}; 

Vielleicht können Sie uns geben, ein detaillierteres Beispiel dafür, wie Ihre Klassen angeordnet sind und wie tief Ihre Anwendung codiert. Der Versuch, nicht den Überblick zu verlieren, war bei AS2 immer oberstes Gebot. :(

Ich hoffe, ich kann ein wenig später helfen ...