AS3中第二帧的按钮事件问题

来源:百度知道 编辑:UC知道 时间:2024/05/04 16:56:00
我的flash现在有两帧,每帧有一个按钮,点击后跳转到另一帧。现在的情况是第一帧的那个就行,第二帧那个就报错了。这是什么回事。?
代码如下:

stop();
picture_btn.addEventListener(MouseEvent.MOUSE_UP, plays);
picturea_btn.addEventListener(MouseEvent.MOUSE_UP, plays);

function plays(event:MouseEvent):void
{
play();
}

在第二帧的按钮事件要什么写。为什么我这样不行 .

编译的时候出现这样的提示:无法访问空对象引用的属性或方法。

因为你把代码都写到了一帧里 到第二帧没有代码就什么一不做了。你那个按钮放在舞台上 都命名

如果要在帧里写的话很简单
第一帧这样stop();
picture_btn.addEventListener(MouseEvent.MOUSE_UP, plays);
function plays(event:MouseEvent):void
{
gotoAndStop(2);//跳转到第二帧
}
第二帧也要写代码因为AS3不想AS2那样可以写一个全局的在任何地方都能用二AS3中的所谓全局的只是局限在当前帧 第二针代码和第一帧一样
picturea_btn.addEventListener(MouseEvent.MOUSE_UP, plays1);
function plays1(event:MouseEvent):void
{
gotoAndStop(1);//跳到第一帧
}

你最好写两个函数,具体如下:
stop();
picture_btn.addEventListener(MouseEvent.MOUSE_UP, play2frame);
picturea_btn.addEventListener(MouseEvent.MOUSE_UP, play1frame);

function play2frame(event:MouseEvent):void
{
this.gotoAndPlay(2);
}
function play1frame(event:MouseEvent):void
{
this.gotoAndPlay(1);
}
这样应该就可以了。 不行就给我留言。

一楼的答案估计还是没让你成功:
这种情况我也遇到过。
你在第二帧trace(picture_btn)试一下,会输出null;说明没找到你的按钮。

我在家里试的时候遇到这情况,但我刚又试了一下,竟然又没报错。很郁闷。

建议你改用影片剪辑作按钮。