我正在開發2D側滾動Android遊戲,使用AndEngine及其BOX2D擴展。BOX2D - 與Monster碰撞
我的球員身上,用2個傳感器用於「腳」和「頭」,所以我可能知道哪些球員的側面接觸不同的對象等。這裏的圖像顯示它是如何工作的:
這對於檢查玩家是否正在用腳觸摸地面很有效,所以他可以跳轉等。現在我試圖執行與怪物身體接觸後執行的操作。
在我的接觸式傳感器,我檢查
if (x1.getBody().getUserData().equals("monster") && x2.getUserData().equals("foot"))
{
jump();
}
if (x1.getBody().getUserData().equals("monster") && x2.getUserData().equals("player"))
{
GameManager.playSound(lostSound);
handleDie();
}
但每次我在怪物的「頭」跳時間(所以基本上我與腳傳感器觸摸它)死亡的行動被執行。因爲兩個聯繫人都被聯繫人監聽者注意到,所以如果我將腳傳感器設置得更高,它就會更有效地突出玩家身體(玩家身體是玩家的精靈紋理的確切形狀),所以看起來好像玩家和怪物之間沒有接觸在所有。
在此先感謝您的任何提示如何正確處理它。
非常感謝,事實上,它是最簡單的方法,我遇到了與玩家身體有關的一些問題,但最終它仍然有效。我剛剛添加了第三個稱爲'down'的固定夾具 - 所以現在有2個固定夾具和一個傳感器(腳傳感器) – Matim