gpt4 book ai didi

Java 游戏 - 使用矩形进行墙壁碰撞检测

转载 作者:行者123 更新时间:2023-11-30 04:49:12 26 4
gpt4 key购买 nike

我正在开发一个java游戏,我正在尝试用我的图 block map 进行碰撞检测,但它没有按照我希望的方式工作。我在角色上制作了 4 个矩形。顶部、底部、左侧和右侧各一个。这些矩形的宽度都是速度的 2 倍。

要检查矩形是否与图 block 上的矩形相交,我使用此代码

if(LeftSide.intersects(Map.colRect[i])){
MovingLeft = false;
x_pos+=vel;

}

为了定义矩形,我使用此代码

LeftSide = new Rectangle(x_pos,y_pos+(vel*2),(vel*2),spriteHeight-1-(vel*4));
RightSide = new Rectangle(x_pos+spriteWidth-1,y_pos+(vel*2),(vel*2),spriteHeight-(vel*4)-1);
UpSide = new Rectangle(x_pos+(vel*2),y_pos,spriteWidth-(vel*4)-1,(vel*2));
DownSide = new Rectangle(x_pos+(vel*2),y_pos+spriteHeight-1,spriteWidth-(vel*4)-1,(vel*2));

当玩家撞到墙壁时,会发生以下情况:以与速度相同的速度进入墙壁,然后以与速度相同的速度被推出墙壁。这会导致每当你撞到墙壁并按住按键时,角色就会来回做出模糊的 Action 。

有没有一种算法可以用来解决这个问题?或者不同的方法?

角色上的矩形如下所示:Rectangles

任何帮助将不胜感激。我真的很想解决这个问题

谢谢

最佳答案

您可能想要模拟弹性碰撞,已讨论here并如图所示here .

关于Java 游戏 - 使用矩形进行墙壁碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10239094/

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