1
所以,我正在創建一個簡單的2D視頻遊戲。我最近注意到,玩家可以移出屏幕,所以我加了這段代碼:玩家可以移出屏幕?
if (newX <= SIZE * TagsCanvas.SCALE) {
newX = SIZE * TagsCanvas.SCALE;
} else if (newX >= TagsCanvas.CANVAS_WIDTH - (SIZE * TagsCanvas.SCALE) - getAABB().getRadX()) {
newX = TagsCanvas.CANVAS_WIDTH - (SIZE * TagsCanvas.SCALE) - getAABB().getRadX();
}
if (newY <= SIZE * TagsCanvas.SCALE) {
newY = SIZE * TagsCanvas.SCALE;
} else if (newY >= TagsCanvas.CANVAS_HEIGHT - (SIZE * TagsCanvas.SCALE) - getAABB().getRadY()) {
newY = TagsCanvas.CANVAS_HEIGHT - (SIZE * TagsCanvas.SCALE) - getAABB().getRadY();
}
TagsCanvas.CANVAS_WIDTH
是畫布對象的寬度。高度是畫布對象的高度。尺寸是玩家的尺寸,尺度是遊戲的規模(現在是2)。 getAABB().getRadX()
返回從玩家中心到邊緣的半徑('玩家'是方框)。
現在,x工作正常,但Y部分沒有。它會阻止玩家離開地圖(第一條陳述),但它會讓玩家在太遠的地方下降20點。任何幫助,將不勝感激!
好主意,謝謝 – Tips48
沒問題,樂意幫忙!這很有趣,因爲我最近有一個項目,我不得不使用這個技巧,所以我立即在這裏看到了答案。 –