发新话题
打印

付值的问题

i = 4; onEnterFrame = function () { [$nbsp][$nbsp]if (_root.box.boxi.hitTest(_root.s) == true) { [$nbsp][$nbsp][$nbsp][$nbsp]_root.box.stop(); [$nbsp][$nbsp][$nbsp][$nbsp]xo = i; [$nbsp][$nbsp]} else { [$nbsp][$nbsp][$nbsp][$nbsp]_root.box._y = _root.box._y-5; [$nbsp][$nbsp]} }; 我想要做的是让 i=4 然后 boxi= box4 这个效果 因为是字符型+数字型 的组合 我尝试了一下 i=4 y= eval("box"+i) 然后y代替boxi if (_root.box.y.hitTest(_root.s) == true) 但是结果还是辨别不出 boxi=box4 这是为什么?

TOP

…………你怎么能把 box 和 i 连起来写呢?系统会把 boxi 整个看成一个变量名的!

TOP

那个要如何写?

TOP

root.box["box"+i].hitTest()

TOP

老大果然厉害。。。成了smile_clown.gifsmile_clown.gif 但是我有疑问 实际上我是_root.box 下的 boxi MC 但是怎么你把 boxi改["box"+i]以后 前面的那个点给去掉才能运行。不然就是错误提示? 也就是说为什么不是 root.box.["box"+i] 而是你写的那个??

TOP

请教了一下程序员 y= eval( "_root.box.box"+i) if (y.hitTest(_root.s) == true) 效果一样 eval 必须是全路径smile_big.gif

TOP

可以查阅flash help中关于“ [ ] ”部分 smile.gif

TOP

这就是我做出来的效果 另外问一个问题 hitTest 碰撞的时候。。。不是刚碰到就停而是要过去一点才停下来。。。 这个如何处理?有什么方法没有?
附件: 您所在的用户组无法下载或查看附件

TOP

发新话题