我正在开发一个平台游戏,我需要一些我自己似乎无法想出的非常基本的碰撞。它似乎总能找到一种方法来闪过屏幕并飞出屏幕,或者卡在天花板上。
这是我到目前为止所拥有的:
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。
我曾尝试在互联网上的其他地方寻找答案,但我得到的只是碰撞检测(检查两个对象是否相交),我已经知道该怎么做。谢谢。
我也在研究正方形/矩形的碰撞。