停止在movieclip动作2上淡出

时间:2013-07-17 15:36:42

标签: actionscript fadein fade fadeout movieclip

我试图阻止淡入/缩小我的影片剪辑。

我将解释:我已将我的swf集成到带有下拉列表的HTML页面中。当我从这个列表中选择一个项目时,它会调用一个javascript函数。该函数对我的swf文件中的函数执行回调,该函数淡入/淡出在运行时绘制的图像(取决于在下拉列表中选择的项目)。当我选择另一个元素时,我希望previuos项目停止淡出,新的开始。

这是我的褪色功能:

function fadeIn(h){
if (eval(h)._alpha<100) {
    eval(h)._alpha += 20;
}
else {
    clearInterval(fadeInterval);
    setTimeout(startOut, 500, h);
}
}

function fadeOut(h) {
if (eval(h)._alpha>0) {
    eval(h)._alpha -= 20;
} else {
    clearInterval(fadeInterval);
    setTimeout(startIn, 100, h);
}
}

function startOut(h) {
fadeInterval = setInterval(fadeOut, 1, h);
}

function startIn(h){
fadeInterval = setInterval(fadeIn, 1, h);
}

function flashing(h){   
var bname;
bname = "planGroup.singleObject." + h;
eval(bname)._alpha = 0;
fadeInterval = setInterval(fadeIn, 1, bname);
}

我尝试使用clearInterval(fadeInterval),但这并不总是有效,尝试使用my_mc.stop(),但这也不起作用。

我还尝试设置一个执行淡入淡出5次的变量计数,除非我在函数完成之前更改drowpdown列表中的项目,否则这项工作。

任何想法?希望很清楚!

由于

1 个答案:

答案 0 :(得分:1)

如果有人关心我用Tween类解决了!!所有这些功能都被一行代码所取代:

function fadeTo(clipName, fadeValue){
    new mx.transitions.Tween(eval(clipName), "_alpha", mx.transitions.easing.Regular.easeOut, eval(clipName)._alpha, fadeValue, 1, true);
}