Java 2D重力?
我正在制作一个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 楼答案
你在你所有的墙上迭代。如果相交的墙不是列表中的最后一面墙,则后续墙可能会将速度重置为1。检测到交叉口时,请断开回路。具体而言: