按钮无法访问。如何修复此代码?
Posted
技术标签:
【中文标题】按钮无法访问。如何修复此代码?【英文标题】: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;
【问题讨论】:
【参考方案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; 以上是关于按钮无法访问。如何修复此代码?的主要内容,如果未能解决你的问题,请参考以下文章