我正在尝试制作一个简单的 as2 射击游戏,但是当我尝试射击敌人时,子弹只是穿过它而不会移除敌人。我尝试输入
if (hitTest(_root.vihollinen)==true
){
_root.vihollinen.remove();
this.removeMovieClip();
}
但没有任何反应大部分代码只是复制/粘贴,因为我对编码知之甚少,但我正在努力学习!
https://www.dropbox.com/s/58u34tbeve6oile/game.zip
问问题
341 次
1 回答
0
最重要的问题是你的敌人需要一个实例名称才能让代码理解它。只需单击您的敌人影片剪辑,然后添加vihollinen
到Instance Name
顶部的字段中。
接下来,您的项目符号代码很接近,但需要一些调整。这是您的代码:
_root["bullet" + bulletsFired].onEnterFrame = function(){
this._x += this.xmov;
this._y += this.ymov;
if (hitTest(_root.vihollinen)==true){
_root.vihollinen.remove();
this.removeMovieClip();
}
};
如果您曾经在函数中使用过
onEnterFrame
这样的处理程序,最好始终使用 引用当前对象this
,如下所示:if(this.hitTest(_root.vihollinen) == true){
remove()
不是 ActionScript2 函数。尝试unloadMovie()
改用,如下所示:_root.vihollinen.unloadMovie()
更改这三件事将使您的代码正常运行。确保您尝试浏览代码的每个部分并尽您所能理解它 - 从长远来看,这会使事情变得更容易,即使需要很长时间才能弄清楚每个部分存在的原因!
于 2013-10-04T14:46:18.933 回答