我要发帖 回复

中级会员

24

主题

149

积分

0

专家分

:

私信
发表时间 : 2008-3-17 10:50:45 | 浏览 : 2999    评论 : 3
vega prime模拟集束火箭弹的发射(程序集成到vc6.0MFC中),共7发弹,已经实现了单发发射,
要实现7发连发(每格0.5秒)发射一发,请问用什么办法能实现?
注:我尝试设置了7个计时器,0.5秒触发一次,但运行中只有在第一发弹达到靶上后第二发弹才能发出去,
也就是必须在发射第一发弹的程序fire1()运行完才能运行第二发弹的程序fire2(),
不知道该怎么弄了,请高人指点!

最近VR访客

rbpncs 评论于2008-3-19 21:02:03
我也遇到类似的问题
关注
superdemo 评论于2008-3-19 22:53:14
不知你的问题是否与机枪连发的情况类似?
我是这样做的:
DWORD dwStartFire;


if(FirstTimeKeydown)                            //按下机枪按钮的瞬间
dwStartFire = timeGetTime();

if(Keydown)                                           //机枪按钮一直在按下
{
   DWORD dwSpend = timeGetTime() - dwStartFire;
    if(dwSpend > 0.1*1000)                //0.1秒发射一发
    {
        dwStartFire = timeGetTime();
        fire();                                               //动态发射射弹的例程
      
   }


}
hunanlyp 评论于2008-3-22 23:13:47

回复 3# 的帖子

感谢superdemo的回复,只是我要实现连发的那7发弹是各不相同的,不从同一炮口发出且发射程序里的标志量也不同,发射后还要分别与目标撞击,且这一程序运行时间远超过0.5秒,只是延时可能实现不了。你的子弹发射程序是在0.1秒内就可以运行完是吧?

[ 本帖最后由 hunanlyp 于 2008-3-23 12:30 AM 编辑 ]

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-12-2 06:43 AM

返回顶部