光说不练没什么意思的,不如按它的模式做一个游戏试试吧!

/**
* ---------------------------------------------
* BumperBall 碰碰球游戏
* ---------------------------------------------
* 在本游戏中,玩家控制一个小球碰撞屏幕上其它的小球,
* 其它的小球也会从各个方向碰撞玩家的小球,球与球碰
* 撞后会根据物理定律改变方向和速度,而屏幕四周有一
* 些尖的针突出,如果那个小球不幸撞到了针上那它将会
* 被针打破。因此玩家的目的是将其它小球撞向尖针,并
* 避免自己控制的小球被撞到尖针上,玩家共有三个球,
* 都打破后游戏结束。
* ---------------------------------------------
**/

已经可以控制小球运动,不过小球移动的物理模型模拟得不太好,还要改进,主要是力学方面的计算,包括台面阻力、玩家推动力等对球的影响与实际还不太相符。

有兴趣的朋友可以下载试一试。
  • BumperBall.rar (41.7 KB)
  • 描述: 源文件(EclipseME项目)
  • 下载次数: 9
评论
iwinyeah 2008-07-15
根据动量守恒和能量守恒定律,两球相撞(完全碰撞|正碰)有如下服从如下两个公式:
m1*v1 + m2*v2 = m1*v1' + m2*v2'
m1v1^2 + m2v2^2 = m1v1'^2 + m2v2'^2

我假设两球质量相同,则可简化为如下公式:
v1 + v2 = v1' + v2'
v1^2 + v2^2 = v1'^2 + v2'^2

两式联立可得如下解:
v1' = (v1+v2)/(v1*v2)
v2' = v1 + v2 - (v1+v2)/(v1*v2)

注意以上速度为矢量,考虑到计算要求是正面碰撞,要将矢量速度转换为两球心连线方向的速度。
domando 2008-07-09
一直没有做过图形方面的项目,真的很感兴趣
发表评论

您还没有登录,请登录后发表评论

iwinyeah
搜索本博客
我的相册
C8609f76-ccc2-3dbc-a9e8-b5e08077b8c2-thumb
jaccount1.0.7
共 5 张
最近加入圈子
存档
最新评论