2009-06-30 59 views
0

我似乎在AS2中遇到TweenLite問題。tweenlite as2未完成

我創建了一個我在主時間線上調用的類。在課堂上我已經加載圖片,一旦他們加載,我想淡入淡出。我打電話以下代碼(我的類中),當圖像已完成加載:

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

然後我有以下功能做褪色循環:

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}); 
    } 

此功能永遠不會被擊中,但這第一張圖片確實褪色了。

回答

0

你的代碼對我來說很完美..我自己仍然在做一些小AS2的東西,所以我想我會試着回答你。我已經在舞臺上放置了三張圖片-mc,名爲:loadedimg1,loadedimg2和loadedimg3。然後,我創建了一個名爲'test'的空類MovieClip。該類包含以下代碼:

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}); 
} 
}; 

也許你可以給我們的應用程序是如何在課程設置有多深編碼的更詳細的例子。嘗試不失去範圍一直是AS2的主要優先事項。 :(

希望我能稍後幫助...