| gotoAndPlay与gotoAndStop之间的对话 |
|
gotoAndPlay与gotoAndStop之间的对话 |
| 作者:佚名 来源:不详 更新:2007-1-13 20:37:05 错误报告 我要投稿 |
在以前的日子里,我一直认为,gotoAndPlay结合stop()的功能等于gotoAndStop功能,先前我的yellow也告诉我还是用后者好,为什么?当时我也没有问?还是一直两者等同,但是今天我在回答一个朋友在本站[闪客银行]www.flashbank.cn的问题的时候,发现的二者的不同!(有的点献丑了,对很多人来说,我在是在虚张声势了,我想还有一些人不知道二者之间的区别...),下面我举个例子,对比一下! 假设你想实现一个这样的效果:在FLASH中,按F1键,播放第二帧。按F2键,播放第三帧? 做法一: 我在主场景中做了一个mc,进去mc的内部编辑,在第1帧,什么也没有,在第2帧写上F2,第3帧写上F3,新建立一个层,在第1,2,3帧都写上stop(); 回到主场景,对这个mc的实例名写上:effect 新建立一层写上as:
myListener = new Object(); myListener.onKeyUp = function () { if (Key.getCode() == 113) { effect.gotoAndPlay(2); } if (Key.getCode() == 114) { effect.gotoAndPlay(3); } }; Key.addListener(myListener); (备注:F1,F2,F3的键控代码分别是:112,113,114)这些都在FLASH帮助---动作脚本参考---KEY就能找到 你测试一下,你按F2(要在Flash中测试会出现输出面版,你可以单独测试),这个时候是出现F2,但是你再点的键盘上的F2,就出现了F3 这个问题就是他们二者之间的区别,你把代码中的gotoAndPlay换gotoAndStop,就不会有这么的问题? 原因是:当你第一次点键盘的时候,effect是跑到第2帧,也是带有F2的的帧,但是他同时也执行过了你的在第2帧的stop(); 所以当你在点键盘的F2时,执行的还是gotoAndPlay()这个命令,所有又显示了F3! 我就做这些解释了!不知道解释是不是清楚,有什么疑问就给我给留言了!
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |