public void chooseLane() {
int lane = MathUtils.random(1, 3);
System.out.println(lane);
spawnCar();
}
public void spawnCar() {
if(lane == 1){
batch.begin();
batch.draw(carsb, 0, 0);
batch.end();
System.out.println("testing");
}
在chooseLane()
中打印出车道的int(设置为随机并且每秒打印一次未显示)但是lane == 1
时它没有完成spawnCar方法。有什么帮助吗?
答案 0 :(得分:2)
在lane
方法之外声明chooseLane()
变量。因为,您将lane
变量声明为chooseLane()
的局部变量,这就是为什么无法在chooseLane()
方法之外访问它。
int lane;
public void chooseLane() {
lane = MathUtils.random(1, 3);
System.out.println(lane);
spawnCar();
}
public void spawnCar() {
if(lane == 1){
batch.begin();
batch.draw(carsb, 0, 0);
batch.end();
System.out.println("testing");
}
}
答案 1 :(得分:1)
那是因为你有变量lane
int lane = MathUtils.random(1, 3);
此处lane
正在重新定义。只需从该行中删除int
。
答案 2 :(得分:1)
您在lane
中设置的chooseLane
以及您在spawnCar
内进行比较的lane
不一样。您可以向spawnCar添加一个参数,避免保留public void spawnCar(int lane) {
if(lane == 1){
batch.begin();
batch.draw(carsb, 0, 0);
batch.end();
System.out.println("testing");
}
类成员
{{1}}