很多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即可。
//放在组件CLICK位置
_root.goScene(帧编号);
_root.goSceneNum("场景一",1);