gotoAndPlay的研究

前段时间看到不少按钮上用gotoAndPlay的话题,很简单,却往往容易混淆
现在谈谈我的认识,欢迎大家讨论

1.gotoAndPlay的基本语法

   gotoAndPlay(scene,frame)          //场景跳转
   MovieClip.gotoAndPlay(frame)      //MovieClip跳到指定帧
【注】:这个frame参数可以是帧号码,也可以是帧标签,如果是帧标签,需要加引号
   不正确的语法: 
   _root.gotoAndPlay(scene,frame)

2.如果一个按钮上的action是这样的
  1. on(release){
  2.          gotoAndPlay(10);
  3. }
复制代码

如果这个对象是个mc,则这个mc跳到第10帧播放;
如果是按钮,则当前场景跳到第10帧播放
如果要保证场景跳到第10帧播放,应该在gotoAndPlay(10)前加上 _root.

3.如何通过按钮实现 场景跳转

(1).  把按钮的代码写到主场景
  1. _root.btn_jump.onRelease=function(){
  2.           gotoAndPlay(scene,frame);
  3. }
复制代码

(2). 使用帧标签(lable),action直接放在按钮上
  1. on(release) {
  2.           _root.gotoAndPlay("sc2_start");     //sc2_start是场景2中的一个帧标签
  3. }
复制代码
这里不能漏掉_root.,原因见第2点
(3). 使用绝对帧数
     假设场景1有30帧,那么场景2中的第一帧的绝对帧数就是31, 而他相对于场景2的帧数是1
     _root.gotoAndPlay(31);   //跳到第31帧(绝对帧数)
示例:
[f w=402 h=201]http://my.6to23.com/qhwa/temp/gotoAndPlay.swf[/f]
源文件:  http://my.6to23.com/qhwa/temp/gotoandplay.fla

4. gotoAndPlay(1)和_root.gotoAndPlay(1)的区别

前者使用的是相对帧数,后者使用的是绝对帧数
更具体点,第一句是跳到当前场景的第一帧,第二句跳到场景1的第一帧
另外补一句,_currentframe是绝对帧数
知道了这一点,就可以实现跳转到当前场景的第一帧,把以下action放到场景中
  1. _root.btn_jump.onRelease=function(){
  2.      gotoAndPlay(1);
  3. }
复制代码


以上论点在Flash MX下试验通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值