Actionscript 3 按钮可以';我不能进入。如何修复此代码?
我是AS3的新手。我的AS3基础不好。 我的代码怎么了? 没有错误! 请帮帮我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(){
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;}}}