滚动的球——RigidAPE刚体引擎新进展

自从上一个RigidParticle的demo发布以来,我重新整理了它的架构,并完善了它的算法。现在终于有新东西可以看了。
主要的改进是在这些方面:

  • 把检测碰撞点的代码放到了CollisionDetector中,我觉得这样更加合理一点
  • 关于刚体碰撞的运算,放到了一个新的类RigidCollisionResolver中。碰撞的算法以前只是看起来像得近似算法,现在才能算是真正的“模拟”。
  • RigidParticle被删除了,取而代之的有3个新的类:RigidItem、RigidRectangle和RigidCircle。RigidItem是新架构中所有刚体的母类,它管理所有刚体共有的一些操作和运算。RigidRectangle和原来的RigidParticle功能相同,模拟一个矩形的刚体。RigidCircle则是新增的圆形刚体,它可以模拟圆形粒子所无法做到的滚动效果,一个滚动着的球能够借助它的势能爬上山坡,这一点使用圆形的粒子是无法做到的

不过新的架构也有缺点,目前它还无法和普通粒子发生互动,而摩擦力的计算上还没有完全解决。

操作和以前一样,按上箭头产生更多物体落下来。

源文件下载
你也可以在这里找到源代码 http://ape.googlecode.com/svn/branches/rigidape/
那边会一直保持最新。

回复

此内容将保密,不会被其他人看见。
  • 网页地址和电子邮件地址将会被自动转换为链接。
  • Allowed HTML tags: <img> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • 行和段被自动切分。
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

更多格式化选项信息

CAPTCHA
这个问题是为了测试你是否是真正的访问者以防止自动程序发布垃圾信息。
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.