2012-04-25 95 views
0

我想在pyGame中實現一個Mario類型的平臺。碰撞檢測工作與多邊形沒有問題。我很好奇我如何讓玩家能夠跳過他身上的地板,這是一個漂浮在空中的多邊形。跳轉通過多邊形/地板碰撞檢測

關於如何處理這個問題的理論是什麼?

+3

可能作爲一個精靈/塊財產,並在碰撞檢測將被檢查explicitly-如果玩家有一個正Y速度,用「跳通過」物體碰撞時,忽略此衝突。處理這種情況可能比將這組塊分割成跳躍式和非跳躍式更快。 – jozzas 2012-04-26 00:03:45

+1

展開jozzas評論:繼續忽略兩個對象之間的任何碰撞,直到它們不再發生碰撞。 – Darthfett 2012-04-26 00:12:46

+0

@Darthfett,繼續忽略的是我腦海中丟失的那條信息。我認爲這會有所幫助。 – 2012-04-26 00:22:36

回答

1

你可以這樣做,當你的角色碰到一個塊時,它們以當前速度向上移動,直到它們不再與多邊形碰撞。這樣,當你從上面打地面時,你不會向下穿過它,但是當你觸到底部時,就是這樣。我會建議一個while循環設置爲碰撞函數。