当前位置:首页 > 站长必备 > 如何利用场景中的影片剪辑中的按钮到达另一个场景

如何利用场景中的影片剪辑中的按钮到达另一个场景

snuday15年前 (2009-08-15)站长必备83
question:在场景1中采用了一个动画剪辑,这个动画剪辑中包含了一个按钮,想在这个按钮上设定动作“转到场景2,并播放第一帧”,但是使用“gotoandstop("场景2",1)”后,实现不了效果,单击按钮后到达的是这个动画剪辑的第一帧。
answer:
首先考虑
路径问题:
on(release)
{
_root.gotoAndPlay("label");
}
其中label是要转到桢的标签,可以不在同一场景
gotoAndPlay("场景1",1)这种写法 在mc里的按钮上可能出现问题

其次,有这么几种方法
方法一:(使用telltarget命令)

按钮上的as为:
on (release) {
tellTarget ("/") {
gotoAndPlay ("场景 1", 1);
}
}
方法二(用gotoandplay命令)
主场景2中的mc放到场景2的时间轴上
按钮的as: on release {
      gotoAndPlay("场景1",1)
       }
并且在最后一帧加stop()
问题就可以解决了:
方法三(利用路径_root.gotoandplay())

第二个场景2里面只有一个mc,在这个mc的最后一帧是stop 
和一个replay按钮
按钮的as:_root.gotoAndPlay(1)
【即告知按钮回到场景1的第一帧】




方法四(给场景起不同的名字)
如果你的as这样写:
第二个sence里面只有一个mc,在这个mc的最后一帧是stop 和一个replay按钮
按钮的as: on release {
      gotoAndPlay("sence1",1)
       }
结果按下后却是从这个mc的第一帧开始播放,而不是从sence1的第一帧
这是因为主场景的名字默认为senceN
MC里也可以有多个场景,而mc也是默认为senceN
所以当你在MC用上gotoAndPlay ("scene1", 1);时,指的是所在场景中MC里的第一帧,
而不是主场景
解决的方法,就是给场景定义不同的名字
scene1我们改名为:主场景
scene2我们改名为:次场景1
正确的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay (1);
}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
}
}
方法五(利用标签label)
我们在控制动画的时候一般也不是从开始播放,
可能是希望从某个场景的某一个关键帧开始播放,那么标签是
最好的实现方法;
例如我们希望点击上面的按钮的时候让动画从主场景中的label1开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("label1");
}
例如有3个场景,我们希望点击上面的按钮的时候让动画从次场景1中的label4开始
播放,那么按钮上的as应该为:
on (release) {
tellTarget (_root) {
gotoAndPlay ("次场景 1", "label4");
}
}

}
}
如果想实现按钮点击后从次场景播放
就可以在按钮上写上:
on (release) {
tellTarget (_root.次场景) {
gotoAndPlay (1);
}
}
方法六: (使用loadMovie命令)
先把这些小场景和主场景放在同一层目录下,给它们都写上英文名字(必须是英文),然后在主场景的按钮上写下以下AS
on (release) {
loadMovie("场景名.swf",1);
}