gpt4 book ai didi

Java 2D 重力?

转载 作者:行者123 更新时间:2023-12-02 08:08:51 26 4
gpt4 key购买 nike

我正在制作一个 2D Java 游戏,我正在尝试找出如何添加基本的“重力”

我当前的代码是这样的:

    public void checkCollision() {
Rectangle player_rectangle = new Rectangle(player.getX(),player.getY(),32,32);

for(Wall wall : walls) {

Rectangle wall_rectangle = new Rectangle(wall.getX(), wall.getY(), 32,32);

if(player_rectangle.intersects(wall_rectangle)) {

player.yspeed = 0;

} else {
player.yspeed = 1;
}
}

出于某种原因,我的代码即使接触到墙壁,也会直接穿过墙壁。我希望它撞到墙上(如果它下面有人的话),如果没有则继续下落。

最佳答案

你正在遍历所有的墙壁。如果相交的墙不是列表中的最后一堵墙,后续的墙可能会将您的速度重置为 1。当您检测到相交时,请中断循环。具体来说:

if(player_rectangle.intersects(wall_rectangle)) {
player.yspeed = 0;
break;

关于Java 2D 重力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7753035/

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