游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6914|回复: 16

求导弹导弹跟踪算法

[复制链接]

29

主题

247

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
发表于 2007-7-16 23:03:00 | 显示全部楼层 |阅读模式
  正在编写飞行设计游戏,有哪位大大能给我发个导弹跟踪的源代码,感激不尽啊,C或C++的都可以,VC能运行的就更好了.

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-7-17 11:35:00 | 显示全部楼层

Re:求导弹导弹跟踪算法

跟踪的话,一直调整朝向就可以了

拦截的话麻烦些。

29

主题

247

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
 楼主| 发表于 2007-7-19 16:46:00 | 显示全部楼层

Re:求导弹导弹跟踪算法

  如果是单个跟踪的话很容易啊,但是问题是屏幕上不停的刷新敌机,导弹也不停的发射.
现在问题如下:1.目标消失的导弹的处理.
             2.还有就是目标的分配,将某个导弹具体分配到哪个敌机上.反正我做出的效果怪怪的.
            

10

主题

219

帖子

236

积分

中级会员

Rank: 3Rank: 3

积分
236
QQ
发表于 2007-7-19 17:34:00 | 显示全部楼层

Re:求导弹导弹跟踪算法

首先你要明白导弹跟踪的机理,这样你才能正确的模拟

29

主题

247

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
 楼主| 发表于 2007-7-19 18:14:00 | 显示全部楼层

Re:求导弹导弹跟踪算法

跟踪机理就是是导弹一直向目标方向移动就可以了,但是就是目标的选择比较麻烦,使导弹一直锁定一个目标,目标消失,导弹就直线向上移动.还有就是导弹目标的选择.

29

主题

247

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
 楼主| 发表于 2007-7-19 18:19:00 | 显示全部楼层

Re: Re:求导弹导弹跟踪算法

Enigmaya: Re:求导弹导弹跟踪算法

跟踪的话,一直调整朝向就可以了

拦截的话麻烦些。

拦截的话不麻烦,拦截先考虑横坐标,等导弹与目标横坐标相等时,纵向速度再增加.

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-7-20 13:13:00 | 显示全部楼层

Re: Re: Re:求导弹导弹跟踪算法

fancy_1234: Re: Re:求导弹导弹跟踪算法


拦截的话不麻烦,拦截先考虑横坐标,等导弹与目标横坐标相等时,纵向速度再增加.


首先我说的麻烦是相对跟踪来说的

其次,你说的方法 似乎有问题。
横坐标相等时才增加纵向速度,导弹的速度应该快于目标,那么之后导弹就在目标的前方了,然后。。。减速?整条轨迹很怪异啊。

至于目标的分配,最近原则吧?然后锁定一架就穷追不舍。

6

主题

73

帖子

73

积分

注册会员

Rank: 2

积分
73
QQ
发表于 2007-7-20 19:34:00 | 显示全部楼层

Re:求导弹导弹跟踪算法

那还不简单,导弹从飞机的不同地方发出,射出的方向也不同,以导弹的头为方向值,用扩增的方式判断离每个导弹最近的敌机,这样每个导弹就不会总飞向同一只敌机了
对于有两个以上的导弹判断在同一个敌机上的时候,当敌机被第一个导弹灭掉后其他指向这只敌机的导弹从新调用原来的判断函数再+点缓冲即可以实现很好的效果了

29

主题

247

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
 楼主| 发表于 2007-7-21 16:23:00 | 显示全部楼层

Re:求导弹导弹跟踪算法

一般导弹的目标都是锁定的,目标消失导弹就直线飞向屏幕上方直至消失我觉得这样才比较自然.我就是在目标的分配和锁定方面的算法不会写,如果追最近的敌机,很可能连着几枚导弹追一架飞机.可能我的数据结构设计的不太好,屏幕上每架飞机都有一个单独的序号,消失了继续刷新,这给锁定造成了一定麻烦,我也不知道该在循环的那一层上面加入选择目标的命令比较好.

6

主题

73

帖子

73

积分

注册会员

Rank: 2

积分
73
QQ
发表于 2007-7-21 20:24:00 | 显示全部楼层

Re:求导弹导弹跟踪算法

非也,导弹失去跟踪的目标后应该是朝它飞来的方向直线飞去而非直向上.
导弹的机构体只需要简单的位置变量,跟踪序号变量等就可以了,飞机在某段时期发出的导弹数是个常量,所以可以用数组来解决导弹的数量,只要在这几个机构体里不断的改变位置变量和跟踪序号变量就可以了.
不要把简单的问题复杂化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 18:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表