好的,所以我正在製作一款遊戲,並且我發現我的敵人不喜歡我的碰撞檢測功能,這對我的玩家來說非常合適。經過一些調試,我發現這是因爲我的敵人比我的瓷磚大,而我的玩家比我的瓷磚小。如何測試一個矩形是否在另一個矩形中?
現在我需要能夠做出大敵和老闆,所以這是不行的。所以我需要找出更好的方法來測試碰撞檢測。這是我當前如何做它:
上下:
if((enemy.left > tile.left && enemy.left < tile.right || enemy.right > tile.left && enemy.right < tile.right) && enemy.top < tile.bottom && enemy.bottom > tile.top){
//collision
}
左右:
if((enemy.top > tile.top && enemy.top < tile.bottom || enemy.bottom > tile.top && enemy.bottom < tile.bottom) && enemy.left < tile.right && enemy.right > tile.left){
//colision
}
你的精靈是純粹的矩形嗎? – xandy 2010-11-08 01:27:26
它是52x32,拼圖是50x50 – William 2010-11-08 01:28:56
我的意思是,對於大多數遊戲來說,精靈的碰撞檢測不是簡單地檢測重疊的矩形,例如,如果你的敵人和你的化身都是圓形的,即使矩形重疊也不會基本崩潰。 – xandy 2010-11-08 01:39:18