0
我在平臺上工作,我需要一些非常基本的碰撞,我似乎無法想出自己。它似乎總能找到一種方法來解決問題,從屏幕上飛出去,或者卡在天花板上。如何在處理中創建矩形衝突?
這是我到目前爲止有:
if (player.y-8+player.height>loc.y && player.y<loc.y+height-8) {
if (player.x+player.width>loc.x && player.x<loc.x+8) {
player.xvelocity=0;
player.x = loc.x-player.width-1;
}
if (player.x+8>loc.x && player.x<loc.x+width) {
player.xvelocity=0;
player.x = loc.x+dim+1;
}
}
if (player.x+player.width>loc.x && player.x<loc.x+width) {
if (player.y+player.height>loc.y && player.y<loc.y+8) {
player.yvelocity=0;
player.y = loc.y-player.height;
ground = true;
}
if (player.y+8>loc.y && player.y<loc.y+height) {
player.yvelocity=0;
player.y = loc.y+dim;
}
}
播放器的寬度爲15,高度爲25,方形的寬度爲16,高度爲16
我有嘗試在互聯網上的其他地方尋找答案,但我得到的是碰撞檢測(檢查兩個物體是否相交),我已經知道該如何做。謝謝。
另外我正在研究從正方形/矩形的碰撞。
如果移動物體的速度過高,可能會發生故障飛行。如果在一次更新中物體一直移動通過對撞機,那麼您將無法檢測到碰撞。有不同的方法來防止這種情況發生,但這不再是基本的碰撞。你是否處理高移動速度? – Ma3x
不是特別高的速度,沒有 – Rock48