1

我试图停止淡入/淡出我的电影剪辑。

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

这是我的褪色功能:

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()但这也不起作用。

我还尝试设置一个变量计数来执行褪色 olny 5 次,除非我在函数完成之前更改下拉列表中的项目,否则这项工作有效。

有任何想法吗??希望很清楚!

谢谢

4

1 回答 1

1

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

function fadeTo(clipName, fadeValue){
    new mx.transitions.Tween(eval(clipName), "_alpha", mx.transitions.easing.Regular.easeOut, eval(clipName)._alpha, fadeValue, 1, true);
}
于 2013-07-19T09:02:11.100 回答