2012-10-12 138 views
4

我最近被指派使用Corona SDK創建一個siple遊戲。比賽的主要支柱是一個簡單的事件:用戶應該把球放在籃子裏,我應該能夠處理這個事件。自定義衝突

這裏是爲了更好的理解一幅圖片:

enter image description here

我成功地設法創造籃下碰撞形狀,但我有這個籃子內的碰撞麻煩。我首先想到的是以下幾點:

  • 創建一個新的形狀
  • 大小和位置,以適合這個籃子的「肚子」
  • 將其添加到物理世界,並聽取他們的碰撞。

隨着混合圖形,它看起來像這樣:

enter image description here

但有一個問題:如果我這個形狀添加到物理學,它不會讓球落入,籃子,它也將作爲一個堅實的物體來處理這種形狀。

所以我的問題是:我怎麼能得到這個自定義對象碰撞,沒有阻止 球落在它?我已經閱讀了很多類似問題的論壇帖子,但沒有一個得到正確的答案。必須有一種方式來以優雅的方式來做到這一點。

還有一注:請不要建議手動檢查碰撞,與矩形相交,因爲在這種簡單的情況下,它會工作,但後來我可能需要改變籃筐的形狀,然後它會沒用!

回答

5

Box2D有一個叫做「傳感器」的東西。

你剛纔設置的內部衝突之一,是一個傳感器,它會做的正是你想要的東西:)

只要做到:

MyInternalCollisionObject.isSensor = true 
+0

謝謝你,老實說,我沒想到,那這將是這個簡單的:) –