我似乎具有与AS2 TweenLite的麻烦。

我已经创建了一类我主时间轴上的呼叫。在课堂上,我已经加载图像,一旦他们被加载,我希望他们之间褪色。我打电话以下代码(我的类中),当图像已完成加载:

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

此功能永远不会被击中,但这个第一图像不褪色的。

有帮助吗?

解决方案

您的代码可以完美兼容我..我还是做了一些小东西,AS2自己,所以我想我会尽量回答你。我已经把三种图像-MC对称为第一阶段:loadedimg1,loadedimg2和loadedimg3。然后,我已经创建了一个与之相连的类名为“测试”一个空的影片剪辑。该类包含以下代码:

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的主要优先事项。 :(

希望我可以帮助稍后...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top