0

我看过的所有地方都指示我下载插件和插件,因为它们是“优越的”。我只是在添加/删除一个孩子时寻找一个简单的淡入/淡出(如果我只能得到淡入,我会接受它。)这是我正在调用的函数......

var trashbagFrame:MovieClip = new menu_trashbag_mc_frame();
trashbagFrame.x = 900;
trashbagFrame.y = 0;

menu_trashbag_mc.addEventListener(MouseEvent.MOUSE_UP, trashbagContent);

function trashbagContent(event:MouseEvent):void {
    if(MovieClip(root).currentFrame == 850) {
    while(MovieClip(root).numChildren > 2)
    {
        MovieClip(root).removeChild(MovieClip(root).getChildAt(MovieClip(root).numChildren - 1));
    }
MovieClip(root).addChild(trashbagFrame);
MovieClip(root).addChild (closeBtn);
}
else {
MovieClip(root).addChild(trashbagFrame);
MovieClip(root).addChild (closeBtn);
MovieClip(root).gotoAndPlay(806);
}
}
4

2 回答 2

0

这些站点很可能意味着像 Tweener 这样的插件在您不断需要转换时使用起来更加灵活/简单。

ActionScript 3.0 库在 fl.transitions 包中有一个名为 Fade 的类。

import fl.transitions.*;
import fl.transitions.easing.*;

TransitionManager.start(img1_mc, {type:Fade, direction:Transition.IN, duration:9, easing:Strong.easeOut});

https://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/fl/transitions/Fade.html

在哪里

img1_mc

将是您要应用过渡的对象(在您的情况下是孩子)。

于 2010-05-26T18:23:25.487 回答
0

您可以使用 enterFrame 随着时间的推移更改属性。就像是:

var trashbag:MovieClip = new MovieClip();
trashbag.alpha = 0;
addChild(trashbag);
trashbag.addEventListener(Event.ENTER_FRAME, enterFrameHandler);

var closeBtn:MovieClip = new MovieClip();
closeBtn.alpha = 0;
addChild(closeBtn);
closeBtn.addEventListener(Event.ENTER_FRAME, enterFrameHandler);

function enterFrameHandler(e:Event):void 
{
    var targetMC:MovieClip = e.currentTarget as MovieClip;
    if(targetMC.alpha >= 0.9)
    {
        targetMC.alpha = 1;
        targetMC.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
    }
    else
    {
        targetMC.alpha += 5;
    }
}

希望示例代码有所帮助。我还没有测试过,但这个想法有效。

于 2010-05-26T20:56:48.883 回答