2013-03-07 110 views
-1

我很难与一些基本的碰撞工作。我有一个形象,我以不同的形状弹跳。目前,我做了长方形的碰撞工作。这是相对容易的,因为直线的线条,所以我本质上只是保持obj,如果它超出了x1,x2,y1或y2的界限,我将速度改变为相反。问题与碰撞C++

我正试图在三角形内完成同样的事情,并且正在用最困难的时间。我已经做了一些阅读,但由于某种原因,我脑中的灯开关没有打开!所以我有一个三角形...我通过取(y2 - y1)/(x2 - x1)来确定斜率。但是,在编程中使用斜率导致碰撞正确注册时,我无法取得任何进展。

我会提供一些代码,但说实话,甚至没有什么是接近工作大声笑。

任何关于如何获得obj在三角形内弹跳的建议?

或者,如何使一个obj反弹到/ style行?

+1

你想要的是行线碰撞检测,因为你可以将任何多边形分解成行。尝试使用Google搜索 – Patashu 2013-03-07 00:36:40

+0

您应该查看GJK/EPA算法。 SAT也工作。 – Cubic 2013-03-07 00:39:08

+0

真棒,我会谷歌它。谢谢! – Chivos 2013-03-07 00:39:30

回答

0

根据你希望如何参与,你可能会发现游戏物理引擎开发有帮助。关于本书的好处是,所有的源代码都可以通过GitHubfine grain collision detection的特定源文件获得。代码非常干净且可用。

+0

哼,真棒。我其实想看看物理引擎。虽然现在看起来对我来说有点遥远,因为我仍然无法让线路碰撞起作用!大声笑;)我会检查出来,但。 – Chivos 2013-03-07 18:50:44