【问题标题】:AS3 - Call function with forEachAS3 - 使用 forEach 调用函数
【发布时间】:2014-10-15 23:13:24
【问题描述】:

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 淡入...等 但我坚持这个错误信息。 感谢您的帮助!

【问题讨论】:

    标签: arrays actionscript-3 function alpha


    【解决方案1】:

    您将element.name 传递给fl_FadeOut,这是一个字符串。

    我怀疑你想做一些类似的事情:

    function fade(element:*, index:int, arr:Array):void 
    {
        fl_FadeOut(getChildByName(element.name));
        //         ^^^^^^^^^^^^^^
    }
    

    您使用 getChildByName() 按名称引用 DisplayObject。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多