gpt4 book ai didi

java - Java边缘碰撞检测

转载 作者:行者123 更新时间:2023-12-02 09:02:38 25 4
gpt4 key购买 nike

我正在尝试使用代表行走的人的 4 个图像来添加边缘碰撞检测。一旦图像撞到墙上,它就应该反转并朝另一个方向移动,直到它撞到墙上并再次反转方向。我该怎么办?这是到目前为止我的代码:

class Walker {
int x = 0;
int y;
int speed;
PImage img1, img2, img3, img4;
int count = 0;

Walker(int y, int speed) {
this.y = y;
img1 = loadImage("walk1.gif");
img2 = loadImage("walk2.gif");
img3 = loadImage("walk3.gif");
img4 = loadImage("walk4.gif");
this.speed = speed;

}

void render() {

if (count < 10)
image(img1, x, y);
else if (count < 20)
image(img2, x, y);
else if (count < 30)
image(img3, x, y);
else if (count < 40)
image(img4, x, y);
else {
count = -1;
}
count++;

}

void move() {
x = x + speed;
}

}


Walker walter;

void setup() {
size(500, 500);
walter = new Walker(150, 3);
}

void draw() {
background(125);
walter.render();
walter.move();
}

最佳答案

当步行者撞到墙壁时,你必须降低速度。 PImage 的宽度由属性 .width 给出,例如:

class Walker {

// [...]

void move()
{
x = x + speed;

int man_width = img1.width;
if (x <= 0 || x >= width-man_width)
speed = -speed;
}
}

关于java - Java边缘碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60057477/

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