这是一个漫长的假期周末,所以我又有了编码错误,并开始玩弄:
Mario http://gfilter.net/junk/tileengine.jpg
我写了一个基本的瓦片引擎,但我以前从未尝试过,我真的很难处理精灵碰撞检测和实现重力的真实物理。
对于任何其他游戏爱好作者,你能给我一些最好的方法的演练吗?
更新:
我想我应该分享一份进度报告:
http://www.youtube.com/watch?v=-RKNQ2UiiLY <--行动中的游戏
它仍然有很多bug,但是碰撞检测基本上是有效的,我已经开始开发一些其他的功能(比如碰撞积木(注意bug)和与敌人交互)。
马里奥仍然像在月球上一样行走,我正在使用这些常量,有什么建议可以让它们更逼真吗?
const float AirDrag = 1.00f;
const float GroundFriction = .97f;
const float Gravity = 0.8f;发布于 2008-12-01 23:55:38
下载FarseerPhysics引擎,看看它是如何工作的,我认为这是http://www.codeplex.com/FarseerPhysics最好的东西!
发布于 2008-12-02 01:40:36
重力很简单:
const gravity = ... ; // pixels per timestep (eg. video frame) squared
// while in freefall, each timestep:
y_velocity += gravity;
y_pos += y_velocity;请注意,我玩过的大多数2d平台游戏都没有真实的重力。做任何能让游戏变得有趣的事情!
发布于 2008-12-02 02:30:47
jnrdev可能会有所帮助。它涵盖了瓷砖碰撞/响应和坡度。这不是我见过的最好的代码,但它完成了工作。
https://stackoverflow.com/questions/332585
复制相似问题