Actionscript 3 AS3:addChild不';不要上台

Actionscript 3 AS3:addChild不';不要上台,actionscript-3,oop,Actionscript 3,Oop,我想做一份菜单,但我的电影唇没有出现在舞台上。我用一个跟踪测试了它,当'addChild(currentClip)被执行时,它就开始运行了 这是面向对象的编程,所以我添加了整个类。 很抱歉给您留言,否则我会迷路:) 您无法看到任何内容,因为主剪辑没有任何图形。试一试 public function MainClip() { this.graphics.beginFill(0xF244A7); this.graphics.drawCircle(20,20, 100

我想做一份菜单,但我的电影唇没有出现在舞台上。我用一个跟踪测试了它,当'addChild(currentClip)被执行时,它就开始运行了

这是面向对象的编程,所以我添加了整个类。 很抱歉给您留言,否则我会迷路:)


您无法看到任何内容,因为主剪辑没有任何图形。试一试

public function MainClip() 
{
        this.graphics.beginFill(0xF244A7);
        this.graphics.drawCircle(20,20, 100);
        this.graphics.endFill();
}

当你把它添加到舞台上时,你应该能够看到一些东西:)

在你的主类Kikkers,methodstartmaingame中,你正在删除当前剪辑,而不是将它重新添加到舞台上。问题是您在IntroClip的openMainGame方法中添加了MainClip,而不是将其添加到主类Kikkers中。你应该修改Kikkers中的StartMingName,如下所示:

    public function startMainGame( event: Event): void
    {
        trace("Start Main Game");
        currentClip.removeEventListener(IntroClip.MY_FINISHED_INTRO_CLIP_EVENT, startMainGame);
        removeChild(currentClip);

        currentClip = new MainClip();
        currentClip.x = 160;
        currentClip.y = 160;
        addChild(currentClip);
    }

在IntroClip中的openMainGame方法中,您应该只保留发送事件的第一行。

应该有效。你是从Flash导出的吗?或者它是一个单独的类,比如公共类MainClip扩展了MovieClip?也许你没有添加任何图形?如果跟踪有效,那么它可能会被添加到后台。您可以通过运行这个.getChildIndex(currentClip)来检查它。若它并没有抛出异常,那个么它就被添加了。它是一个单独的类,我将更新我的代码,这样你们就可以看到我导入了什么。它正在运行,只是没有显示在舞台上。好的,你能发布MainClip()代码吗?或者它太大了?MainClip代码现在是空的。所以你看不到它——没有什么可显示的。如果您创建一个新的MainClip()并执行此操作。graphics.beginul(0xff0000);这个.graphics.drawRect(0,0100);您将在舞台上看到这个.graphics.endFill()。
    public function startMainGame( event: Event): void
    {
        trace("Start Main Game");
        currentClip.removeEventListener(IntroClip.MY_FINISHED_INTRO_CLIP_EVENT, startMainGame);
        removeChild(currentClip);

        currentClip = new MainClip();
        currentClip.x = 160;
        currentClip.y = 160;
        addChild(currentClip);
    }