我有一个带有方形甜甜圈作为赛道的汽车游戏。我想制作一些虚拟汽车,这些汽车将简单地绕过这个方形航线,并且在AI汽车必须制造的最后一个转弯处遇到一些问题。
在下面我还添加了一张基本图片,展示了我所拥有的赛马场的概念。汽车在原点附近开始,在y方向上平移,然后在x方向上平移,然后在y上向上进行另一次平移,然后在x方向上进行最后一次转换。
double velX = 2;
double vely = 2;
if (positionx < 14 && positiony < 60){ //move straight down the first strip
vely += vely;
velx = 0;
}
if (positiony > 65){ //make the first turn and move x units
gl.glRotated(90, 0, 1, 0);
velx += velx;
vely = 0;
}
if (positionx > 20){ //make the next turn and go down the next strip
gl.glRotated(180, 0, 1, 0);
vely = 2;
velx = 0;
vely -= vely + 1;
}
if (positiony < -68){ //Here is where I am running into my error. I turn but get stuck
gl.glRotated(-270, 0, 1, 0);
vely = 0;
velx += velx -1;
}
positionx += velx;
positiony += vely;
答案 0 :(得分:0)
导致卡住的错误发生在位置20,-69,其中:
if (positiony < -68){ //Here is where I am running into my error. I turn but get stuck
gl.glRotated(-270, 0, 1, 0);
vely = 0;
velx += velx -1;
}
velx
已初始化为 2 ; velx += velx -1
使其 3 ,让汽车弹回到位置23,-69并重复。如果您将velx += velx -1
更改为velx = -2
,则汽车会继续前进。