簡體   English   中英

LibGDX中帶有矩形/圓形的三角形碰撞

[英]Triangle Collision with Rectangle/Circle in LibGDX

有沒有人對在LibGDX中處理帶有矩形和圓形的三角形相交的最佳方法有任何建議? 我看到Intersector類具有測試與三角形和射線相交的方法,但是我不確定如何直接將其應用於矩形或圓形。 我還看到有一個isPointInTriangle方法,也許可以用來遍歷三角形和矩形的點?

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/math/Intersector.html

也許我只是缺少LibGDX中一個簡單易用的功能? 任何幫助將不勝感激。

三角形和矩形均被視為多邊形,因此請使用libGDX Polygon類描述您的三角形和矩形,然后使用Intersector類將它們相交。

對於圈子,您可以:

  1. 用多邊形近似(例如,在圓中繞10點),然后使用Intersector類。

  2. 創建您自己的自定義圓到多邊形碰撞檢查器。

我想到了一種檢查多邊形和圓形碰撞的簡單算法:

if center of circle is inside the polygon =>>> they overlap.

else if distance between circle center and any of the polygons vertices is less then circle radius =>>> they overlap.

else =>>> they dont overlap.

這是在考慮您不需要知道這些圖的重疊部分到底是什么,而您只想知道它們是否重疊。 如果您需要知道重疊部分,那么用多邊形逼近圓是唯一的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM