2013-06-26 99 views
1

我是新来的世界libgdx和游戏编程的世界一般。我想创建一个游戏,但不是任何游戏。我制作了一些基本游戏,如休息时间乒乓球。但我仍然无法走得更远,但我总是碰到问题,尤其是在实体之间!我想创建一个像sonic斜坡的游戏。碰撞检测,在libgdx

+0

一些阅读:http://www.a-coding.com/2010/10/predictive-collision-detection.html http://www.vobarian.com/collisions/ – Patashu

+0

另外,如果您向下滚动并查看在相关问题的右侧,我看到很多关于碰撞检测的问题。尝试阅读他们? – Patashu

回答

3

U可以通过LibGdx

4

使用OverlapTester在超级弹跳项目某一类你知道如何创建矩形。我假设你知道矩形。 如果您要检查两个矩形,你可以做的碰撞如下:

Rectangle a = new Rectangle(), b = new Rectangle(); 
在构造函数中设置矩形的

a.setRectangle(yourX, yourY, yourWidth, yourHeight); 
b.setRectangle(yourX, yourY, yourWidth, yourHeight); 

渲染检查碰撞这样

if(a.overlaps(b)) 
{ 
    //do your work 
} 
+0

首先,感谢您的回答,是的,我知道矩形,但在我看来,它们对于地图冲突以及libgdx提供的TiledMap类中的特殊功能毫无用处,而且我不认为我可以将它们用于斜坡,再次感谢你 !! –

+0

在瓷砖地图中的碰撞,你可以参考这个链接http://www.creatiosoft.com/how-to-detect-collision-in-tilemap –

+0

希望这将工作! –

3

创建你的边界使用Libgdx中的矩形类并使用Intersector类进行测试。

这个类有许多功能来测试重叠的矩形,圆形等。

+0

非常感谢你,我已经阅读了原型,我发现它非常有用,我将谷歌它学习更多,但请,让我问你一个问题,我可以使用它的地图相撞??,如果是的,那么如何,并再次感谢你:) –

+0

@Vikalp Jain如果我的精灵不是矩形,我会怎么做碰撞? – guiomie

5

为什么不使用的Box2D(libGDX扩展)?这对平台游戏来说非常完美。

+0

这是一个很好的建议。虽然它并不总是合适的,但对于那些不愿意“推出自己的”碰撞检测的人来说,Box2D通常是一个很好的解决方案。 – fr1tz

0

如果您了解基础知识,我建议您使用box2d。 如果你知道如何使用矩形,精灵批量,相机等,那么你应该继续Box2d,如果你不只是采取一些很好的教程,并尝试使应用程序没有任何extension.this将使你的概念清晰,你将很容易掌握游戏背后的逻辑。