我正在关注在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;
}
}
有人可以向我解释错误的原因和可能的解决方法吗?谢谢。
答案 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'))