Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3:removeChild_Actionscript 3_Oop - Fatal编程技术网

Actionscript 3 AS3:removeChild

Actionscript 3 AS3:removeChild,actionscript-3,oop,Actionscript 3,Oop,所以,我终于让我的菜单工作,但我想删除当前剪辑,当你回到菜单。我原以为这样行得通,可惜不行。有什么办法让它工作吗?顺便说一下,我使用OOP,这是我的一个类 import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; public class MainClip extends MovieClip { var currentClip:MovieClip; p

所以,我终于让我的菜单工作,但我想删除当前剪辑,当你回到菜单。我原以为这样行得通,可惜不行。有什么办法让它工作吗?顺便说一下,我使用OOP,这是我的一个类

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

public class MainClip extends MovieClip {

    var currentClip:MovieClip;

    public static const MY_FINISHED_MAINGAME_EVENT:String = "my_finished_mainGame_event"

    //constructor code
    public function MainClip() {
        backToMenu.addEventListener(MouseEvent.CLICK, openMainMenu);
    }

    function removeCurrent () {
        currentClip = new MainClip;
        removeChild(currentClip);
    }

    //terug naar het Menu
    public function openMainMenu (event:MouseEvent):void
    {
        dispatchEvent(new Event(MY_FINISHED_MAINGAME_EVENT));
        currentClip = new IntroClip();
        addChild(currentClip);
        currentClip.x=200;
        currentClip.y=200;
    }
}

这是您的主类(文档类)吗?如果是这样,文档类将被初始化并自动添加到显示列表中,您不需要使用new关键字创建它的新实例。即使您确实创建了它的新实例,您也尝试使用removeChild将其删除,但它从未添加到显示列表中,因此它将抛出错误。这与您在上一篇文章中遇到的问题相同。您应该只发送事件,并且在您的主类(Kikkers)中,侦听事件,删除当前剪辑并读取它。唯一需要引用currentClip的地方是在main类中。