该按钮无法访问。如何修复此代码?

时间:2013-12-06 04:41:09

标签: 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(){
            // 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;
         }
    }

}

1 个答案:

答案 0 :(得分:0)

您正在尝试向舞台添加侦听器,而该类可能尚未添加到舞台中,因此stage为空并且无法接收任何反应。首先,您应该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;
    }
}