还记得曾经在制作一个课件的过程中,为了达到使用按钮控制课件架构的目的,需要使用gotoAndPlay("场景名称", frame)命令以跳转到不同的场景甚或不同的帧进行播放,结果写完代码,执行时,点击按钮却毫无反应,那时反复检查,甚至改变场景名称为英文,也不能成功,后来只好用了别的组织方式。这个疑问就一直压在心中。
昨天在MMUG.tw上看到了Erin Lin (Yania)写的Flash设计小技巧(1),正巧是解答这个问题的,一试之下,果然成功,高兴!
结合原文,写下笔记如下:
后记:这种规定性的东西,如果在实践中产生疑问,往往是最难解决的,因为你检查自己的思路、代码、拼写、格式都完全没有问题,可是,执行的结果就是有问题,怎么办?只能查查Flash help,或者,到网络上搜求答案吧?
我当时那个用FSCommand命令调用exe文件的问题不也是这样解决的么?
昨天在MMUG.tw上看到了Erin Lin (Yania)写的Flash设计小技巧(1),正巧是解答这个问题的,一试之下,果然成功,高兴!
结合原文,写下笔记如下:
引用:
很多Flash使用者都会有这样的经验:在MovieClip中设计了一个按钮,并附加了_root.gotoAndPlay("场景名称", 1);的代码,可是测试时它就是完全没反应,动也不动,这时你就会质疑,为什么?不是用了_root,让它指向了根目录时间轴吗?在心中吶喊了千万次为什么,可是结果还是搞不懂...
重要提示:
gotoAndPlay("场景名称", frame) 或
gotoAndStop("场景名称", frame),
只能在_root时间轴使用喔!
其实,如果你有使用Flash help的习惯,相信你已经找到解答,在Flash字典中指出在gotoAndPlay() 或 gotoAndStop()中加入场景名称的用法,只能于_root时间轴上使用,在组件或其它对象里面的时间轴都是无效的。
如果你需要在组件中设定gotoAndPlay("场景名称", frame) 或 gotoAndStop("场景名称", frame)的话,可以参考下列技巧来应用。
应用技巧:
在root时间轴的帧一中输入下列Action Script
//此程序是写在主场景时间轴帧上
//单一场景function
function goScene(frame){
gotoAndStop("场景名称", frame);
}
//或者是:
//以下可多场景共享同一function,场景名称请自行更换
function goSceneNum(scene, frame) {
switch (scene) {
case "场景一" :
gotoAndStop("场景一", frame);
break;
case "场景二" :
gotoAndStop("场景二", frame);
break;
}
//以此类推
}
使用方法:
使用方法很简单,你可以在组件或其它对象中加入下列AS即可。
_root.goScene(帧编号);
_root.goSceneNum("场景一", 1);
后记:这种规定性的东西,如果在实践中产生疑问,往往是最难解决的,因为你检查自己的思路、代码、拼写、格式都完全没有问题,可是,执行的结果就是有问题,怎么办?只能查查Flash help,或者,到网络上搜求答案吧?
我当时那个用FSCommand命令调用exe文件的问题不也是这样解决的么?
回复Comments
作者:
{commentrecontent}