和健 2008-1-13 22:23
Flash场景之间相互跳转的实现方法
在制作flash动画的时候,可能会有有很的mc,有时会把它放到几个场景中,那么在场景中的跳转如何实现呢?请看教程吧。
<P> <STRONG>方法一:(使用telltarget命令)</STRONG></P>
<P> 按钮上的as为:</P>
<P class=code>on (release) {<BR>tellTarget ("/") {<BR>gotoAndPlay ("场景 1", 1);<BR>}<BR>}</P>
<P> <STRONG>方法二(用gotoandplay命令)</STRONG></P>
<P> 主场景2中的mc放到场景2的时间轴上按钮的as: </P>
<P class=code>on release { <BR>gotoAndPlay("场景1",1) <BR>} </P>
<P> 并且在最后一帧加stop(),问题就可以解决了。</P>
<P><STRONG> 方法三(利用路径_root.gotoandplay())</STRONG></P>
<P> 第二个场景2里面只有一个mc,在这个mc的最后一帧是stop和一个replay按钮<BR> 按钮的as:_root.gotoAndPlay(1)<BR> 【即告知按钮回到场景1的第一帧】</P>
<P> <STRONG>方法四(给场景起不同的名字)</STRONG></P>
<P> 如果你的as这样写:<BR> 第二个sence里面只有一个mc,在这个mc的最后一帧是stop和一个replay按钮按钮的as: </P>
<P class=code>on release {<BR>gotoAndPlay("sence1",1) <BR>}</P>
<P> 结果按下后却是从这个mc的第一帧开始播放,而不是从sence1的第一帧<BR> 这是因为主场景的名字默认为senceN<BR> MC里也可以有多个场景,而mc也是默认为senceN</P>
<P> 所以当你在MC用上gotoAndPlay ("scene1", 1);时,指的是所在场景中MC里的第一帧,而不是主场景。</P>
<P> 解决的方法,就是给场景定义不同的名字scene1我们改名为:主场景,scene2我们改名为:次场景1。</P>
<P> 正确的as应该为:</P>
<P class=code>on (release) {<BR>tellTarget (_root) {<BR>gotoAndPlay (1);<BR>}<BR>}</P>
<P> 如果想实现按钮点击后从次场景播放就可以在按钮上写上:</P>
<P class=code>on (release) {<BR>tellTarget (_root.次场景) {<BR>gotoAndPlay (1);<BR>}<BR>}</P>
<P> <STRONG>方法五(利用标签label)</STRONG></P>
<P> 我们在控制动画的时候一般也不是从开始播放, 可能是希望从某个场景的某一个关键帧开始播放,那么标签是最好的实现方法;</P>
<P> 例如我们希望点击上面的按钮的时候让动画从主场景中的label1开始 播放,那么按钮上的as应该为:</P>
<P class=code>on (release) {<BR>tellTarget (_root) {<BR>gotoAndPlay ("label1");<BR>}</P>
<P> 例如有3个场景,我们希望点击上面的按钮的时候让动画从次场景1中的label4开始播放,那么按钮上的as应该为:<BR></P>
<P class=code>on (release) {<BR>tellTarget (_root) {<BR>gotoAndPlay ("次场景 1", "label4");<BR>}<BR>}</P>
<P> 如果想实现按钮点击后从次场景播放<BR> 就可以在按钮上写上:</P>
<P class=code>on (release) {<BR>tellTarget (_root.次场景) {<BR>gotoAndPlay (1);<BR>}<BR>}</P><BR>