gpt4 book ai didi

java - 角色与墙壁的碰撞

转载 作者:行者123 更新时间:2023-12-01 04:37:42 25 4
gpt4 key购买 nike

我正在尝试在 Character 中编写一个函数类,当它与 Wall 的顶部碰撞时它返回 true 对象(它是一个平台游戏) 。到目前为止,我在 Character 中有这个类:

private boolean isTouchingTopOfWall() {
for (Wall wall: game.getPanel().getWalls())
if (getBounds().intersects(wall.getBounds()))
return true;
return false;
}

Character中有两个函数和Wall像这样的类:

public Rectangle getBounds() {
return new Rectangle(x, y, game.getBlockSize(), game.getBlockSize());
}

这与 Character 时的效果完全不同。物体与 Wall 侧面碰撞对象,它还返回 true ,当我想要它时,它只返回 true当它从顶部碰撞时。我怎样才能做到这一点?

谢谢。

最佳答案

private boolean isTouchingTopOfWall() {
for (Wall wall: game.getPanel().getWalls())
if (getBounds().intersects(wall.getBounds())) {
int charBottomY = character.getY() + character.getBlockSize();
int wallTopY = wall.getY();
if(charBottomY <= wallTopY)
return true;
}
return false;
}

确定相交后,插入一些代码来确定您是否在墙上方。如果您不在墙上方,请跳到下一堵墙。

关于java - 角色与墙壁的碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17096223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com