2012-02-24 47 views
1

我需要定義一個多邊形,它將是「合法」區域,並允許用戶在該多邊形內移動一個矩形,從而防止他們將矩形移動到多邊形之外的任何位置。碰撞檢測的最佳方式是什麼?

多邊形是一個固定的形狀,所以,我想這可能是最容易導入一個PNG的形狀,並以這種方式拉點,不知何故?但是,在用戶拖動矩形時檢查矩形的座標,以及測試他們將形狀移動到邊界多邊形的邊緣時,我仍然處於虧損狀態。

不幸的是,邊界多邊形是一個相當複雜的形狀。我希望有人能指點我一個教程,該教程展示了運行這種碰撞檢測的最佳方式。

回答

4

Metanet的excellent collision detection tutorial有關於如何使用軸對齊邊界框(AABB)和任意「牆」執行掃描碰撞的很好的部分。

如果您的多邊形是凹形的,您可能會發現最容易首先將其分解爲多個凸多邊形,這將簡化可用的碰撞檢測算法。

+0

這是一個了不起的教程,謝謝。我想我可以從那裏解決問題。 – 2012-02-24 22:13:46