【问题标题】:The button can't access. How to fix this code?按钮无法访问。如何修复此代码?
【发布时间】:2013-12-23 08:16:09
【问题描述】:

我是 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;
         }
    }

}

【问题讨论】:

    标签: actionscript-3 function class if-statement actionscript


    【解决方案1】:

    您正在尝试将侦听器添加到舞台,而该类可能尚未添加到舞台,因此stage 为空且无法收到任何响应。首先,您应该addEventListener 到实例,而不是到舞台 其次,将if (lantai1.onClick==1)的代码放入handler中,否则不会被调用。

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

    【讨论】:

    • 你的回答增加了一个听众到舞台;)
    • 如果您滥用问题中的复制和粘贴,就会发生这种情况。固定。
    • 感谢您的回复。我已经尝试了您的代码,但没有任何反应。
    • 您的lantai1 的父母有什么可见的吗?如果什么都不可见,则监听器不会触发。另外,lantai1.onClick 是什么?如果是数字,则必须在某处设置。
    • 对不起,我还是不明白。我把我的代码改成这样: package { import flash.display.MovieClip;导入 flash.events.MouseEvent;公共类 BallJumper 扩展 MovieClip { public function BallJumper(){ setup(); } 私有函数 setup():void{ popup.visible = false; this.addEventListener(MouseEvent.CLICK, onClick); } 私有函数 onClick(e:MouseEvent):void{ if(key.onClick == 1){ popup.visible = true; } } } }
    猜你喜欢
    • 1970-01-01
    • 2020-01-11
    • 2020-03-30
    • 1970-01-01
    • 2019-11-22
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    相关资源
    最近更新 更多