主题:  gotoAndPlay(n)?

seast_5d

职务:普通成员
等级:1
金币:0.0
发贴:81
#12002/7/1 21:27:53
想实现让mcname 播放第n帧(n是数值型变量),是否可以用下面的语句呢?
tellTarget(mcname){
gotoAndPlay(n);
}
我试着不行,该怎么做呀,请指点。谢谢了。


non

IT编辑

职务:普通成员
等级:6
金币:10.0
发贴:7769
#22002/7/2 10:55:16
你选中想跳转到的帧,然后在Properties面板里给它起个名字n,也就是给这个帧打上一个标签,然后在AS面板里的普通模式下选择Frame Label模式即可。



seast_5d

职务:普通成员
等级:1
金币:0.0
发贴:81
#32002/7/3 19:29:40
谢谢你柳叶
可是我不可能为那么多的帧取名字的呀:(
N是要变的。
是不是 gotoAndPlay()的参数不可以是数值变量啊 ?


non

Mozier

职务:管理员
等级:5
金币:11.0
发贴:2994
#42002/7/3 21:26:15
要用eval();函数来获得变量n的值。。。。



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#52002/7/3 21:41:56
写法没有错,可能是mc的引用路径出问题了。

如果可能,把源文件上传上来吧。



seast_5d

职务:普通成员
等级:1
金币:0.0
发贴:81
#62002/7/3 23:14:23
谢谢麽子、janlay。

eval();我还不会用。

mc的引用路径应该没错,因为我把n换成具体的数字可以运行。

如果gotoAndPlay(),不支持帧数变量,多不方便啊:(


non

janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#72002/7/4 20:21:01
引用:
tellTarget(mcname){
gotoAndPlay(n);
}


这时,n是属于mcname里面的变量。

直接写:
mcname.gotAndPlay(n);



seast_5d

职务:普通成员
等级:1
金币:0.0
发贴:81
#82002/7/5 22:17:13
不管用的,跟telltarget一样。


non

瀚叔

职务:普通成员
等级:1
金币:1.0
发贴:256
#92002/7/5 23:35:33
n=random(20)
gotoAndPlay(n),
不知行不行?



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#102002/7/6 23:32:53
tellTarget(mcname){
gotoAndPlay(_parent.n);
}



-=胡子=-

职务:普通成员
等级:1
金币:0.0
发贴:200
#112002/7/8 17:40:09
还得用eval();或者用number()也行,反正你得把“n”转换成数字类型,不然,flash回把他当做字符的。



seast_5d

职务:普通成员
等级:1
金币:0.0
发贴:81
#122002/7/9 3:26:16
感谢skyicloud
你实验成功了吗?我用
tellTarget(mcname){
gotoAndPlay(eval(n));
}
还不行.


non

手工感情

职务:普通成员
等级:3
金币:10.0
发贴:556
#132002/7/10 10:41:22
你的n是在场景中定义的么?那么mc中没有n这个变量。如果要引用的话一定得加上路径_root.n;
tellTarget(mcname){
gotoAndPlay(_root.n);
}
如果是在上一级中定义的,那么应该象janlay说的那样
tellTarget(mcname){
gotoAndPlay(_parent.n);
}

编辑历史:[这消息被handmade编辑过(编辑时间2002-07-10 10:42:03)]

黑色的风略过我的翅膀,我却无法落下来梳理你的羽毛
————————————————
◆5d.cn互动论坛◆
------|xml版主|------

seast_5d

职务:普通成员
等级:1
金币:0.0
发贴:81
#142002/7/10 19:18:29
谢谢handmade
我是这样做的.(为了实现循环的运动,失败了)
第1关键帧:
i = 0;
while ( i < 10 ) {
    duplicateMovieClip("unit", "unit"+i, i);
    i++;
    trace(i);
}
setProperty("unit", _visible, 0);
第2关键帧:
n=0;
while ( n<10 ) {
     m = (n+1)*10;
        tellTarget ("unit"+n) {
        gotoAndPlay(eval("m"));
    }
    trace("m:"+ eval("m") );
    n++;
}

stop();


non

janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#152002/7/10 22:32:09
第1关键帧:
for(i=0;i<10;i++){
    duplicateMovieClip("unit", "unit"+i, i);
}
this[unit]._visible=false;


//第2关键帧:
for(n=0;n<10;n++){
     this["unit"+n].gotoAndPlay((n+1)*10);
}

编辑历史:[这消息被janlay编辑过(编辑时间2002-07-10 22:33:51)]