Flash AS removeMovieClip失效
第一帧AS(设全局变量):_global.i=1第一帧Role元件AS(按下空格后导入子弹动画):on(keyPress"<Space>"){attachMovie("B...
第一帧AS(设全局变量): _global.i=1
第一帧Role元件AS(按下空格后导入子弹动画): on (keyPress "<Space>") {attachMovie("Bullet","Bullet"+i,getNextHighestDepth());}
在库中设置类Bullet的最后一帧AS(子弹动画播完后自动删除):tellTarget (_root.Role) {removeMovieClip("Bullet"+i);}
生成动画后子弹不消失,
如果改变代码为removeMovieClip("Bullet"+3)则可以删除第三个子弹。
如果{removeMovieClip("Bullet"+i)}内加上trace(i)可以显示i的值,说明可以探测到i变量。
如果改为removeMovieClip(_root.Role["Bullet"+i])依然是失效的。
如果不用全局变量,把i写全了路径也不识别。
就是说removeMovieClip()无论如何不支持有变量的表达式,怎么可能呢。
郁闷死人了!!!
高手救命!!! 展开
第一帧Role元件AS(按下空格后导入子弹动画): on (keyPress "<Space>") {attachMovie("Bullet","Bullet"+i,getNextHighestDepth());}
在库中设置类Bullet的最后一帧AS(子弹动画播完后自动删除):tellTarget (_root.Role) {removeMovieClip("Bullet"+i);}
生成动画后子弹不消失,
如果改变代码为removeMovieClip("Bullet"+3)则可以删除第三个子弹。
如果{removeMovieClip("Bullet"+i)}内加上trace(i)可以显示i的值,说明可以探测到i变量。
如果改为removeMovieClip(_root.Role["Bullet"+i])依然是失效的。
如果不用全局变量,把i写全了路径也不识别。
就是说removeMovieClip()无论如何不支持有变量的表达式,怎么可能呢。
郁闷死人了!!!
高手救命!!! 展开
展开全部
呵呵~~我发现你的问题应该不大。
_global.i=1
这一句是定义全局变量,当你打出第一发子弹的时候i=1
那么我想,你的游戏应该会有这样一个效果。
如果你只发一次子弹,子弹可以消失。如果连发就不消失。
原因很简单。
removeMovieClip("Bullet"+i)
是移除Bullet+i那个子弹,当你在第一发子弹还没运动完前,你发第二发子弹。
那么i=2. 记住i是全局变量。
那么你的这一句
removeMovieClip("Bullet"+i)就会是:
removeMovieClip("Bullet"+2)
所以第一个子弹就没有被移除啦!
同样道理一直连发子弹,那么停止发子弹的时候被移除的就只有最后一个子弹。
不懂再HI我 ^_^
_global.i=1
这一句是定义全局变量,当你打出第一发子弹的时候i=1
那么我想,你的游戏应该会有这样一个效果。
如果你只发一次子弹,子弹可以消失。如果连发就不消失。
原因很简单。
removeMovieClip("Bullet"+i)
是移除Bullet+i那个子弹,当你在第一发子弹还没运动完前,你发第二发子弹。
那么i=2. 记住i是全局变量。
那么你的这一句
removeMovieClip("Bullet"+i)就会是:
removeMovieClip("Bullet"+2)
所以第一个子弹就没有被移除啦!
同样道理一直连发子弹,那么停止发子弹的时候被移除的就只有最后一个子弹。
不懂再HI我 ^_^
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询