2011-03-21 166 views
1

馬里奧玩多個遊戲。通常,在玩遊戲時,當他跳下一個問題塊時,他會得到一個免費的驚喜。當他遇到Goomba或另一個危險的流氓時,他只是簡單地跳了起來。在來到另一場比賽後,馬里奧像往常一樣在問題框下跳躍,發現沒有任何反應。馬里奧跳到了古博巴之上並死亡。馬里奧很困惑,這裏有什麼不對?2D碰撞(返回碰撞端)

這個新遊戲有碰撞檢測(因此死亡從古邦巴),但不知道如何分辨哪一方已經相撞。假設一次只能碰撞一側,而馬里奧的左側只能碰撞物體的右側(右 ​​- >左;頂部 - >底部等)。

我怎麼能做碰撞測試,也返回可憐的馬里奧相撞的一方(以確保跳下[盒子下]]給他一個驚喜,但跳到盒子上並不給他任何東西)。

僞代碼將不勝感激。

回答

1

如果您的引擎/遊戲沒有滯後問題,您可以使用當前速度。

例如:

  • 感人盒:如果垂直速度是不是 '積極的',沒有禮物
  • 動人的敵人:如果垂直速度是不是 '負面',死亡

我在幾何圖形中使用垂直軸,朝向屏幕頂部,像素在頂部開始的屏幕空間中不常用,所以起起伏伏。

+0

好的,這聽起來不錯。我會繼續嘗試它:) – FreeSnow 2011-03-21 22:31:06