Actionscript 3 按钮可以';我不能进入。如何修复此代码?

Actionscript 3 按钮可以';我不能进入。如何修复此代码?,actionscript-3,function,class,if-statement,actionscript,Actionscript 3,Function,Class,If Statement,Actionscript,我是AS3的新手。我的AS3基础不好。 我的代码怎么了? 没有错误! 请帮帮我 package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.display.Button; public class gantiGambar extends MovieClip{ public function gantiGambar(){

我是AS3的新手。我的AS3基础不好。 我的代码怎么了? 没有错误! 请帮帮我

package 
{

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


    public class gantiGambar extends MovieClip{
        public function gantiGambar(){
            // constructor code
            pertama();
        }

        public function pertama():void{
            lantai2.visible = false;
            lantai1.visible = false;
            stage.addEventListener(MouseEvent.CLICK, onClick);
        }

        private function onClick(e:MouseEvent):void{
            lantai1.visible = true;     
        }

        if(lantai1.onClick == 1){
            lantai2.visible = true;
         }
    }

}

您正在尝试将侦听器添加到stage,而该类可能尚未添加到stage,因此
stage
为null,无法接收任何响应。首先,您应该
addEventListener
添加到实例,而不是阶段 第二,将带有
if(lantai1.onClick==1)
的代码放入处理程序,否则它将不会被调用

this.addEventListener(MouseEvent.CLICK, onClick);

private function onClick(e:MouseEvent):void{
    lantai1.visible = true;     
    if(lantai1.onClick == 1) {
        lantai2.visible = true;
    }
}

您的回答为舞台添加了一个听众;)若你们滥用问题的复制粘贴,那个么就会发生这种情况。修正。谢谢你的回复。我尝试了你的代码,但什么也没发生。你的
lantai1
的父母有什么可见的东西吗?如果没有可见的内容,侦听器将不会触发。还有,什么是
lantai1.onClick
?如果是一个数字,你必须把它放在某个地方。对不起,我还是不明白。我将代码更改为:包{import flash.display.MovieClip;import flash.events.MouseEvent;公共类BallJumper扩展了MovieClip{public function BallJumper(){setup();}private function setup():void{popup.visible=false;this.addEventListener(MouseEvent.CLICK,onClick);}私有函数onClick(e:MouseEvent):void{if(key.onClick==1){popup.visible=true;}}}