Как масштабировать в бумаге JS - PullRequest
1 голос
/ 09 мая 2019

Я пытаюсь записать условие внутри view.onFrame (paper js), которое является функцией обновления на обычном холсте.

// Объявление

let number = 74;
let minus = true;




 view.onFrame = function(event) {

// Начать подготовку // если число станет 75 и минус истина Число начнет уменьшаться

if(number <= 75 && minus == true){
         number -= 1;
         minus = true;
      }

// если число достигнет 0, число увеличится до 75 и условие станет ложным

 else if(number == 0){
     number += 1;
     minus = false;
  }

//иначе минус снова станет истинным

else {
minus = true;
}

Проблема в том, что условие никогда не станет истинным

1 Ответ

1 голос
/ 28 мая 2019

Это проблема структурирования вашей логики.Вы хотите начать с 75 и уменьшить до 0, затем вернуться к 75, но давайте посмотрим на вашу логику.

if(number <= 75 && minus == true){
  number -= 1;
  minus = true;
} 
else if (number == 0) {
  number += 1;
  minus = false;
}

Первое условие, number <= 75 верно, даже когда number == 0 (0меньше или равно 75), поэтому он всегда начнет выполнять первый оператор if и никогда не попадет в оператор else if.Кроме того, вы выполняете number += 1 только тогда, когда number ТОЧНО (==) 0. Таким образом, даже если вы проясните свою логику, вывод этого кода будет выглядеть как 75, 74, 73 ..3, 2, 1, 0, 1, 0, 1, 0, 1 ...

Вместо этого вам нужно проверить, выходите ли вы из установленных вами границ, и если есть,изменить, увеличиваете ли вы или уменьшаете:

if (number > 75) { minus = true }
if (number < 1)  { minus = false }

if (minus) { number -= 1 } else { number += 1 }
...