过去我做了一些线程来寻求碰撞帮助并取得了一些进展,我正在制作一个 2D Java 游戏,屏幕上的玩家随着键盘输入移动,问题是,在我的背景上(地图)有很多障碍,目前我的玩家只是直接穿过它们,到目前为止,在这个论坛的用户的帮助下,我在我的代码中得到了这段代码来检测碰撞:
public void changeBuckyPos(float deltaX, float deltaY) {
float newX = buckyPositionX + deltaX;
float newY = buckyPositionY + deltaY;
// check for collisions
Rectangle rectOne = new Rectangle((int)newX, (int)newY, 40, 40);
Rectangle rectTwo = new Rectangle(-100, -143, 70,70);
if (!rectOne.intersects(rectTwo)) {
buckyPositionX = newX;
buckyPositionY = newY;
}
}
现在我把这段代码放到我的游戏中没有错误,但是出现了一个更大的问题,虽然这段代码没有错误,但它什么也没做,我的意思是当我进入游戏时没有碰撞,当两个矩形相交时什么都没有发生,任何人都可以帮我解决这个问题,我已经坚持了很长时间。
谢谢你。