После обнуления, как вернуться к исходному значению переменной?

У меня есть переменная ySpeed = 2, которая равна 0 в первом if. Как я могу получить исходное значение этой переменной, чтобы во втором, если оно снова стало 2?

public void moveAlice() {
    y1+=ySpeed;
    y2+=ySpeed;
    y3+=ySpeed;
    float ySpeedAux = ySpeed;
    println(ySpeedAux);
    if (y3 >= height - mar) { //Boolean Expression
        ySpeed=0;
        x1+=xSpeed;
        x2+=xSpeed;
        x3+=xSpeed;
    }
    if (x2 >= width - mar) { //Boolean Expression
        xSpeed= 0;
        ySpeed= ySpeedAux;
        y1-=ySpeed;
        y2-=ySpeed;
        y3-=ySpeed;
    }
}
0
задан 23.01.2017, 17:48
0 ответов

Используй другую переменную и ты повторно распределяешь ее, начав второго if

public void moveAlice(){
    y1=y1+ySpeed;
    y2=y2+ySpeed;
    y3=y3+ySpeed;

    int ySpeedAux = ySpeed;

    if(y3 >= height - mar){  //Boolean Expression
        ySpeed= 0;

        x1=x1+xSpeed;  
        x2=x2+xSpeed;
        x3=x3+xSpeed;
    }

    if(x2 >= width - mar){  //Boolean Expression
         xSpeed= 0;

         ySpeed = ySpeeedAux;
         y1=y1-ySpeed;
         y2=y2-ySpeed;
         y3=y3-ySpeed;
     }

Заметь: Я понял, что твой varialbe ySpeed - типа int, если он принадлежит другому, измени это, создав ySpeedAux

0
ответ дан 03.12.2019, 17:32

ты можешь пробовать объявляя твою переменную как глобально вместо как помещение, так как, как он упоминал о тебе, возможный недостаток мог бы быть которым не между немедленно в твоих двух if и следовательно, когда он вводит 2, всегда находится в 0. пробуй объявляя твою переменную

int ySpeedAux = 0;

и внутри твоего метода он остался бы:

ySpeedAux = ySpeed;
0
ответ дан 03.12.2019, 17:32