Flash在“输出”面板中抛出此错误: ReferenceError:错误#1069:在String上找不到属性alpha,并且没有默认值。
有问题的代码:
var mcs:Array = new Array();
mcs.push({name:"mc_1"});
mcs.push({name:"mc_2"});
mcs.push({name:"mc_3"});
mcs.push({name:"mc_4"});
mcs.forEach(fade);
function fade(element:*, index:int, arr:Array):void
{
fl_FadeOut(element.name);
}
function fl_FadeOut(element:Object)
{
element.alpha -= 0.05;
if(element.alpha <= 0)
{
element.removeEventListener(Event.ENTER_FRAME, fl_FadeOut);
}
}
我只是希望淡出mc_1然后淡入mc_2,保持一秒然后淡出。 mc_3淡入......等等 但我坚持这个错误信息。 谢谢你的帮助!
答案 0 :(得分:2)
您将element.name
传递给fl_FadeOut
,这是一个字符串。
我怀疑你想要做的事情是:
function fade(element:*, index:int, arr:Array):void
{
fl_FadeOut(getChildByName(element.name));
// ^^^^^^^^^^^^^^
}
使用getChildByName()
以名称引用DisplayObject的位置。