【问题标题】:Flash AS3 advance to next frame with hitTestObjectFlash AS3 使用 hitTestObject 前进到下一帧
【发布时间】:2014-05-06 17:27:04
【问题描述】:

大家好,这里需要一些帮助。基本上我想在 (guy1) 击中 hitTestObject (home1_mc) 之后前进到第 4 帧。

这是我得到的错误:

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/removeChild()
    at DNAGames2_fla::MainTimeline/exitFrameHandler()
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/removeChild()
    at DNAGames2_fla::MainTimeline/exitFrameHandler()

这是我的代码:

function exitFrameHandler(event:Event):void{
if(guy1.hitTestObject(home1_mc)) {
        removeChild(guy1);
        removeChild(guy2);
        removeChild(guy3);
        removeChild(o1);
        removeChild(cherry1);

        gotoAndStop(4);         
    }       
}

我尝试移除孩子的原因是因为在我为我的游戏切换菜单后他们仍然在屏幕上。任何帮助表示赞赏

【问题讨论】:

    标签: actionscript-3 flash hittest cs3


    【解决方案1】:

    也许您还应该在处理程序中添加:

    removeEvetListener(EVENT_TYPE, exitFrameHandler);
    

    如果侦听器被调用两次,您将得到确切的错误 - 因为第一次它会删除子项,而第二次您尝试删除不再是容器子项的显示对象。

    【讨论】:

    • 谢谢,大家先给它看看好不好用。这是几天前我的评估,但了解更多信息并没有什么坏处;l)
    猜你喜欢
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多