2013-03-07 111 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