发新话题
打印

为什么会这样啊?大虾救我!

为什么会这样啊?大虾救我!

我写的action如下
for (i=1; i<=6; i++) {
trace(i);
duplicateMovieClip (itnmdf, "itnmvc" add +i, i);
itn = eval("itnmvc" add +i);
trace(itn);
itn._x = i*40+520;
itn._y = 80;
}
一切都没问题 trace(i) 输出为 1,2,3,4,5,6
trace(itn) 也能正常输出,复制成功。
可是换成
var2=6;
for (i=1; i<=var2; i++) {
......
就不行了 trace(i) 输出为 1,2,3,4,5,6
可是 trace(itn)就无法输出任何东东,复制也不成功。
请问这是为什么啊????????????

TOP

回复: 为什么会这样啊?大虾救我!

不会吧,我试了,都可以啊。

TOP

回复: 为什么会这样啊?大虾救我!

可是我这里就是不行。
我也很纳闷啊!试了三台机器。
只要把 i<=6 中的 6 换成变量,
影片复制中 "itnmvc" add +i 就取不到值。
不换就没问题,简直一点道理都没有,太奇怪了!

TOP

回复: 为什么会这样啊?大虾救我!

我试了一下也是可以的

TOP

回复: 为什么会这样啊?大虾救我!

i其本身就是自定义变量了,6 换成变量当然就取不到值了。如果是字串符应该注明表示法。

TOP

回复: 为什么会这样啊?大虾救我!

不知道为什么,我这里就是不行。
我也认为一点道理也没有,简直是变态。
当使用 i<=var2 时,通过 trace(i)
可以看到,i 值是可以得到的,通过 trace(typeof(i))
得出 i 的类型也是 Number
可是 "itnmvc" add +i 却怎么也得不到值
使用 i<=6 时,就没问题。
我实在想不明白 var2 和 "itnmvc" add +i 会有什么关系。

TOP

回复: 为什么会这样啊?大虾救我!

这样子,你把源文件发给我们一份,我们帮你看看?
aneng@yeah.net

TOP

回复: 为什么会这样啊?大虾救我!

太感谢了!
我已经发给你了。
盼望您的回信。

TOP

回复: 为什么会这样啊?大虾救我!

我现在去收,刚才开会!

TOP

回复: 为什么会这样啊?大虾救我!

精略的看了一下,你试试 var var2=6试试行不?加上以后我测出:
1
_level0.itnmvc1
2
_level0.itnmvc2
3
_level0.itnmvc3
4
_level0.itnmvc4
5
_level0.itnmvc5
6
_level0.itnmvc6

TOP

回复: 为什么会这样啊?大虾救我!

我试了
on (release) {
          //var var2=Number(var1);
          var var2=6;
    for (i=1; i<=var2; i++) { //就是本行出问题, i<=var2就不行。
      trace (i);
      duplicateMovieClip (itnmdf, "itnmvc" add +i, i);
      itn = eval("itnmvc" add +i);
      trace (itn);
      itn._x = i*30+525;
      itn._y = 80;
    }
}
还是不行啊?
是不是flash也会水土不服啊?
我实在是找不出别的解释了。

TOP

回复: 为什么会这样啊?大虾救我!

想确认一下,我测试的结果是不是你想要的?

TOP

回复: 为什么会这样啊?大虾救我!

是啊,就是想要复制出6个相同的按钮。
在 output 里面就应该是你的那样。
不过,我那里 6 这个值是从 ASP 文件里得到的。
所以我必须使用变量。
我现在是这样子弄的
if (var2==1) {
      for (i=1,i<=1,i++) .....
      ......
   }else if (var2==2) {
      for (i=1,i<=2,i++) ......
      ......
   }else ........
      ......
      ......
但这只是个权宜之计,我还是需要回到开始的状态。

TOP

回复: 为什么会这样啊?大虾救我!

真是可怕,既然是我那样的,那我把文件发回给你,你再试试?

TOP

回复: 为什么会这样啊?大虾救我!

ok!
thank you very much!

TOP

回复: 为什么会这样啊?大虾救我!

收到了,可是我看见action里面是
var var2= 6;
for (i=1; i<=6; i++) { //就是本行出问题, i<=var2就不行。
你是不是改成 for (i=1; i<=var2; i++)后得到上面输出的。

如果是,那我就真的要疯狂了。

thank you very much!

TOP

回复: 为什么会这样啊?大虾救我!

其它一点没必,只var var2= 6; 了一下!

TOP

回复: 为什么会这样啊?大虾救我!

如过没把 for (i=1; i<=6; i++) 改成 for (i=1; i<=var2; i++)
我也能得到你的那个输出啊!
可是我需要把它改成 for (i=1; i<=var2; i++)

TOP

回复: 为什么会这样啊?大虾救我!

哦!有空再看看!

TOP

回复: 为什么会这样啊?大虾救我!

昏!我看到一大堆的程序就头痛,自己写都要好些,我懒啊!

TOP

回复: 为什么会这样啊?大虾救我!

还没有消息吗?
我还是只能用
if .......elseif
来代替啊!
faint! 我都快疯狂了!

TOP

回复: 为什么会这样啊?大虾救我!

Sorry,那程序被搞丢了

TOP

发新话题