| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 717 人关注过本帖
标题:求高手给出一个炮弹击打气球的程序
只看楼主 加入收藏
流年未知
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-23
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:12 
求高手给出一个炮弹击打气球的程序
屏幕上随机产生不同颜色的气球,气球从下方匀速上升,屏幕左侧有一个炮弹出口,可控制上升下降和射出炮弹的角度,击中球后气球与炮弹均消失,有十发炮弹,气球不断上升,按键退出
搜索更多相关主题的帖子: 气球 
2012-12-23 17:05
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
没弄过...

[ 本帖最后由 laoyang103 于 2012-12-23 17:16 编辑 ]

                                         
===========深入<----------------->浅出============
2012-12-23 17:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
物体的运动方程:
x=vCos(θ)·t
y=vSin(θ)·t
式中θ是发射角,v是运动速度,t是时间。
对时间t做循环,每一时刻描出物体的位置,它们就在运动了。
当两物的坐标接近(用两点间距离公式算距离)到一定程度,碰撞。

不管两物的运动如何复杂,只要找出x=f1(t)和y=f2(t)的函数关系,就一样是这样做,曲线运动也行。

[ 本帖最后由 TonyDeng 于 2012-12-23 17:43 编辑 ]

授人以渔,不授人以鱼。
2012-12-23 17:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
如果你能够使用时钟中断或Timer,则只要在中断时刷新物体显示就可以了,如果不能,就用循环,不断获取时钟进行计数,直到指定间隔则触发同样的刷新动作。

授人以渔,不授人以鱼。
2012-12-23 17:50
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
我还以为真能控制炮弹呢。。。
2012-12-23 17:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用zklhp在2012-12-23 17:53:51的发言:

我还以为真能控制炮弹呢。。。

控制炮弹也可以的,在运动时顺便检测键盘按键,就可以调整方向,甚至根据按键时间的长短改变速度大小(有些游戏用另外的变速键)。

授人以渔,不授人以鱼。
2012-12-23 18:02
流年未知
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-23
收藏
得分:0 
抛物线的公式用到了,但是气球和炮弹都是运动中的,那怎样才能在两者坐标相近时显示击中气球了呢?
           sin=(realy-starty)*1.0/sqrt(rr);
            cos=(startx-realx)*1.0/sqrt(rr);
            //小球运行
            for (i=0;;i=i+0.07){
                x=(int)ceil(startx+165*cos*(i+1));
                y=(int)ceil(starty-(165*sin*(i+1)-25*(i+1)*(i+1)/2));
2012-12-23 19:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
能够判断到击中就行,效果怎么呈现到画面上,是你自己的设计,是画个爆炸图还是显示一行文字,是你的自由。

授人以渔,不授人以鱼。
2012-12-23 19:28
流年未知
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-23
收藏
得分:0 
关键就是不清楚怎么判断有没有击中···
zc
2012-12-23 20:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
说过用两点式算距离了,距离接近零就是击中,多接近算是击中,你自己决定。

授人以渔,不授人以鱼。
2012-12-23 20:33
快速回复:求高手给出一个炮弹击打气球的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055431 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved