2012-01-27 18 views
2

首先,我該如何使用defineCollisionRectangle API如何使用defineCollisionRectangle?

我已經做了一些研究,我認爲它根本沒有任何用處。

的確,我可以使用collidesWith()來檢查2個精靈是否碰撞。

但是我想要使用一個像後院圍欄一樣的房子參數的精靈。

我試圖在一個條件中使用defineCollisionRectangle(),將其設置在構造函數中,但我不知道如何使用它。

我可以只使用object.getX/getyobject.getWidth/getHeight,圍繞精靈製作一個參數。

defineCollisionRectangle究竟做了什麼,我該如何使用它?

回答

1

爲了檢測碰撞與它周圍的fencehouse對象我會先從定義2雪碧對象 - 一個用於圍欄,另一房屋 - 每一個都有自己的碰撞矩形。

爲了使與它周圍的圍欄房子,我會畫houseSprite超過fenceSprite像下面的草圖:

http://i.stack.imgur.com/4Wn5B.jpg

通過這種方法這將是非常容易判斷碰撞是發生在柵欄還是與房屋之間 - 僅僅是因爲每個都定義了它自己的碰撞矩形。


一般來說,當你發現一個碰撞矩形不會做你需要什麼,你發明了一種分解東西更矩形子元素,以便結合時,這些元素模擬/近似期望的行爲。

  • 最終用戶不在乎Sprite對象究竟有多少幕後。他們很高興,只要最終的結果感覺像圍繞它的後院圍欄