0

Flash の AS2 から AS3 に徐々に慣れてきました。

Shape や MovieClip などの作成済みオブジェクトに関数を追加する方法はありますか?

過去に、私は使用しました:

var testshape = _root.createEmptyMovieClip();
testshape.onEnterFrame = function():Void
{
    testshape._alpha -= 10;
    if(testshape._alpha < 20)
    {
        testshape.removeMovieClip();
    }
}

AS3でこれに似たことができますか?

おそらくeventListenersまたはそのようなものを使用します。

現在、私はそれを次のように持っています:

var testshape:MovieClip = new MovieClip();
testshape.graphics.beginFill(0xFF0000); 
testshape.graphics.drawCircle(300,300,50);
testshape.graphics.endFill();
testshape.addEventListener(Event.ENTER_FRAME, function runEvent():void
{
    testshape.alpha -= 0.1;
    if(testshape.alpha < 0.2)
    {           
        testshape.removeEventListener(Event.ENTER_FRAME,runEvent);
        removeChild(testshape);
    }
});
addChild(testshape);

ありがとう

4

1 に答える 1

2

次のコードを参照してください。

var testShape:MovieClip = new MovieClip();
addChild(testShape);
testShape.addEventListener(Event.ENTER_FRAME, function():void{
    testShape.alpha -= 0.1;
    if(testShape.alpha < 0.2)
    {
        removeChild(testShape);
    }
});

編集済み

これを試してください:

var testShape:MovieClip = new MovieClip();
testShape.graphics.beginFill(0xff0000);
testShape.graphics.drawCircle(100,100,100);
testShape.graphics.endFill();
addChild(testShape);
testShape.addEventListener(Event.ENTER_FRAME, onEnter);

function onEnter(e:Event):void
{
    testShape.alpha -= 0.1;
    if(testShape.alpha < 0.2)
    {
        testShape.removeEventListener(Event.ENTER_FRAME, onEnter);
        removeChild(testShape);
    }
};
于 2013-02-27T14:01:00.440 に答える