嗨,我想知道如何創建一個圓形碰撞,也作爲一個傳感器。例如,當玩家輸入敵方的半徑時,敵人就會開始追逐玩家。 根據我所嘗試的,我只使用了一個碰撞盒,它是RECT SpriteRect
。但是這對於這個圈子來說不夠準確。我正在考慮通過使用D3DXVECTOR2
使用矢量,但我不善於轉換。請幫助我如何實現此目的。 如何創建一個圓形碰撞檢測? C++
1
A
回答
6
點(xa,ya)在(xc,yc)的圓內半徑r?
還記得畢達哥拉斯嗎? - 它確定兩點之間的距離,並且確定某個半徑的圓內是否有某物需要確定到圓心的距離是否小於半徑:
bool IsPointInCircle(float xa, float ya, float xc, float yc, float r)
{
return ((xa-xc)*(xa-xc) + (ya-yc)*(ya-yc)) < r*r;
}
兩個圓之間的碰撞檢測同樣簡單,只需將'r'作爲兩個圓的半徑之和即可。因爲這是兩個中心接觸時的距離。
要在正方形和圓形之間進行碰撞檢測,您需要計算從線到點的距離。圓形幾乎是最容易做碰撞檢測的形狀。
相關問題
- 1. 矩形和圓形碰撞檢測
- 2. 圓矩形碰撞檢測完成exampe
- 3. 圓和矩形的碰撞檢測
- 4. 如何檢測橢圓是否與另一個橢圓/矩形碰撞
- 5. 檢測正方形的哪一側與碰撞檢測碰撞
- 6. 如何在Monogame中創建一個圓形變量並檢測與其他圓/矩形的碰撞
- 7. 圓圈的碰撞檢測
- 8. 圓弧的碰撞檢測
- 9. Java圓圈碰撞檢測
- 10. 如何獲得圓形和三角形的碰撞檢測
- 11. pygame的 - 碰撞檢測與兩個圓
- 12. Java - 形狀碰撞檢測
- 13. 碰撞檢測Libgdx矩形
- 14. C++ 2D多邊形碰撞檢測
- 15. C++車削矩形的碰撞檢測
- 16. 如何檢測形狀碰撞 - Android
- 17. Android:如何檢測兩個圓圈之間的碰撞
- 18. 圓形扇區和矩形之間pygame碰撞檢測?
- 19. 圓形和多邊形之間的Javascript碰撞檢測?
- 20. 用圓圈檢查矩形碰撞
- 21. 如何檢測兩個圓之間的碰撞點,然後創建一個矢量來更新圓的位置?
- 22. 圓形碰撞中的圓形
- 23. easeljs檢測碰撞兩個矩形
- 24. 如何檢測橢圓與圓相交(碰撞)
- 25. LibGDX,如何創建2d碰撞地形
- 26. 圓弧和線段碰撞檢測
- 27. 圓碰撞檢測HTML5畫布
- 28. 碰撞檢測:圓角對象
- 29. Libgdx旋轉橢圓碰撞檢測
- 30. 用圓弧碰撞檢測球
我喜歡你的繪畫:) – Quest 2014-12-07 11:59:11
@Quest哈哈哈,這只是一個概念。沒有製作真正的遊戲。只是學習。我以前使用stencyl做過一個。超級簡單,因爲它都是拖放。所以現在我盡我所能學習C++儘可能多:)如果你喜歡,請看看它:[Lost Dungeon](http://www.kongregate.com/games/yawnm3/lost-dungeon) – Student 2014-12-07 12:02:13