質問

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

この機能はヒットしないを取得しますが、この第1の画像がアップフェードんでした。

役に立ちましたか?

解決

あなたのコードは、私と一緒に完璧に動作します。

..私はまだ自分自身がそう私はあなたに答えることを試してみようと思いましたいくつかのマイナーなAS2のものをやっています。 loadedimg1、loadedimg2とloadedimg3:私はと呼ばれるステージ上で3ピクチャー-MCさんを入れています。それから私は、「試験」と呼ばれ、それに接続されているクラスで空の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の主な優先順位でした。 :(

私は少し後で役立つことを願って...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top