作者forestluch (小强)
看板Flash
标题Re: [求助]movieclip名称变数合并
时间Fri Nov 9 18:15:29 2012
改用AS3了
做为练习目标 很多观念是拿AS2的概念去改写
宣告定义的方式 用了一下大概也习惯了
但现在却卡在变数名称的问题
这篇是最早在板上请问的 最後是用eval()解决了
(当时可能是写法有错..)
之前用AS2写的
大致上需要读出目前所在的影格
然後对特定元件进行控制
如果在影格2 则对c2下动作
在影格3 则对c3下动作
但在AS3下无法使用
程式片段
chnbox.channel1["c"chnbox.channel1.currentFrame].gotoAndPlay("std");
-错误
rightbracket 必须在 chnbox 之前。
改成..
chnbox.channel1.["c"chnbox.channel1.currentFrame].gotoAndPlay("std");
-错误
identifier 必须在 leftbracket 之前。
identifier 必须在 rightbracket 之前。
差一个 . 是因为我有点忘了 在root parent 或者实体名称的mc後要不要加 .
AS3 Google一下发现已经没有eval
所以这样的写法 _root["baz"+i].rix = 100 已经行不通
要怎麽解决呢?
我查过的资料有用 getByChildName 不过没有程式底子得我真得很难看懂
或许是因为诉求不同 实在不知道要如何解决问题
AS3又不能把脚本写在影片片段上 让脚本自己抓自己的名字
(不然在会用eval之前 我都是把脚本写好复制贴上到每个影片片段上)
有网友能够协助我吗
达成在不同的影格 根据currentFrame 来对 影片片段+currentFrame进行动做吗
谢谢
※ 引述《forestluch (小强)》之铭言:
: 我有一个元件 ob1 里面还有个 m1 的元件
: 其中定义一个 rn 的随机值
: 然後加上xy位移
: _root.ob1.m1._x += rn;
: _root.ob1.m1._y = (xnn*xnn);
: 然後用goto使得座标达到极限前在影格间无限重播使xnn不断累加
: 让 m1 能够移动
: 发布後
: 於是画面会跑出一颗球每次随机跑出不同的路线
: 但我在场景中用以duplicateMovieClip以ob1为目标成功复制出 ob2~ob9 的元件
: 结果却不会动..
: 我把 ob1 的程式修改成..
: 希望座标位移的值能够分别传送到ob1~ob9的m1中
: 阵列与xnn已事先定义
: _root["ob"+ar[_root.i]].m1._x += rn;
: _root["ob"+ar[_root.i]].m1._y = (xnn*xnn);
: ...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.151.120
1F:推 jeaby:chnbox.channel1["c" + chnbox.channel1.currentFrame].goto 11/09 18:39
2F:→ jeaby:太长了推文放不下... gotoAndPlay之後跟原本一样 11/09 18:41
3F:→ forestluch:啊 谢谢 找到更好的解决方式了... AS3好难啊0.0 11/12 00:48