灵动游戏论坛游戏专区【游戏教程】我有个问题,希望各位高手帮帮忙

1  /  1  页   1 跳转 查看:942

标题: 我有个问题,希望各位高手帮帮忙

我有个问题,希望各位高手帮帮忙

在飞行射击游戏里,玩家控制飞机的子弹用attachMove命令来提取,我是这样写的
function attack(){
i=1000*Math.random();
attachMovie("zidan","zidan"+i,i);
with(_root["zidan"+i]){
_x=_root.player._x;
_y=_root.player._y;
}
}
setInterval(attack,50);
上面是写在主场景时间轴第一真上的,_player是玩家控制飞机的实例名,然后在元件子弹里有个子元件,上面写
onClipEvent(enterFrame){
_parent._x+=5;
}
我的问题是怎么判断子弹打中了敌人,hitTest命令要放在什么地方?我如果放在子弹元件的子元件里,就是
onClipEvent(enterFrame){
if(this.hitTest(enemy)){
enemy.gotoAndPlay("baoza")
}
_parent._x+=5;
}上面加一行,这样可以实现检测碰撞,但是这样的话只对一个敌人有效果,如果有10个敌人,那不是要加上10个判断语句,特别麻烦。
我又想把碰撞检测命令加在敌人元件上面,但是我写if(this.hitTest(_root["zidan"+i])){的时候,这样没效果,系统似乎不认这个_root["zidan"+i]名字。
希望各位高手帮帮我,这到底该怎么做?
引用
 

回复:我有个问题,希望各位高手帮帮忙

盟鸥的回答如下:
我的方法是放在子弹里面
if(this._x>=_root["enemy"+i]._x-60 && this._x<=_root["enemy"+i]._x+60
    && this._y>=_root["enemy"+i]._y-35 && this._y<=_root["enemy"+i]._y+35
    && _root["enemy"+i]._x<=screen_width)
    {
        _root["enemy"+i].gotoAndPlay("die");
        this.removeMovieClip();
    }
引用
 

回复: 我有个问题,希望各位高手帮帮忙

前几天做碰撞检测正好看到这篇文章,希望对你有所帮助。 ^-^

浅谈飞机游戏碰撞检测代码的处理方式
引用
 

回复:我有个问题,希望各位高手帮帮忙

太感动了,大家这么热心帮我,楼上2位太谢谢啦,我研究研究去
引用
 

回复:我有个问题,希望各位高手帮帮忙

看不懂 如果我懂 我一定回答你










————————————————————————————————————————————————————————————————————————————————
引用
 
1  /  1  页   1 跳转

版权所有 灵动原创FLASH游戏中心   Sitemap

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2009 Comsenz Inc.
Processed in 0.015625 second(s) , 3 queries. 苏ICP备05047165号
返顶部