Flash AS3 ReferenceError:错误#1056:无法创建属性

时间:2016-06-17 12:12:45

标签: actionscript-3 flash

我正在关注在Flash中制作节奏游戏的教程,并且是AS3的新手。我一直收到这个错误:

ReferenceError: Error #1056: Cannot create property destroy on flash.display.Shape.
at source_fla::MainTimeline/removeButtons()[source_fla.MainTimeline::frame5:27]
at btnSongSelect/clickThis()[btnSongSelect::frame1:25]

参考以下代码:

//this function will remove all of the buttons from the stage
function removeButtons():void{
    //we're going to use the same loop
    for(var i:int=0;i<numChildren;i++){
        var remove = getChildAt(i);
        //set the target's destroy variable to true
        remove.destroy = true;
    }
}

有人可以向我解释错误的原因和可能的解决方法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

这是因为getChildAt(i)会返回一个没有destroy属性的DisplayObject实例。
一种可能的解决方案(基于评论

  

//this function will remove all of the buttons from the stage

)检查预期的if(remove is ButtonClass) 另一个选项是Yasuyuki Uno建议here正在检查if(remove.hasOwnProperty('destroy'))