我正在尝试创造一款简单的2D动作游戏,类似于著名的《Fancy Pants Adventures》:)我一直在寻找答案超过一周,我所找到的是https://gamedev.stackexchange.com/questions/4348/making-a-character-move-along-a-curved-slope-in-a-world-with-gravity,这并没有回答这个问题。(是的,我也发现在旋转的平台上移动,但这不是我想要的)。我还发现了一个很棒的flash游戏引擎——CitrusEngine,我目前正在使用它,但遗憾的是,它不能提供沿着弯曲地形移动的英雄。
嗯,我不知道如何让英雄沿着这样的弯曲地形移动:http://dl.dropbox.com/u/4611540/Stackexchange/curvedterrain.png(抱歉,由于垃圾邮件的防止机制,我不能发布图片:()
有很多这样的游戏(例如《Fancy Pants》或《Robot Unicorn Attack》),主角沿着弯曲的地形移动,但我不知道如何做到这一点。
Fancy Pants Adventures并没有使用真正的物理引擎。所有的物理效果以及角色在地形上的角度都是伪造的。你可以从游戏的原始创造者那里阅读更多关于Fancy Pant的物理效果,点击这个链接
如果你要使用box2d来创建曲面平台,它可能会比你预期的要复杂一些。Box2d不支持凹多边形,所以为了创建任何凹多边形,你必须将其拆分为一系列凸多边形。最好的方法是将凹形分割成三角形。
查看这个链接,看看如何做到这一点。你可以浏览他的博客,了解他是如何构建它的,或者你可以从我链接到的帖子中获取他的源代码。源代码内部是一个名为Triangulation的文件。。
您可以使用该文件中的代码将凸多边形拆分为多个三角形,然后使用box2d将这些新多边形分组为单个体。这将允许你制作弯曲的地形和平台。
好运我希望这能让你对这个主题有更多的了解:用Flash和Box2D创建一个像《Tiny Wings》那样的地形
在碰撞检测工具包中也实现了一些像素碰撞测试碰撞(参见一些更高级的碰撞示例:AS3: CDK)。