Javascript 使用if语句前后移动循环

Javascript 使用if语句前后移动循环,javascript,Javascript,对于学校作业,我需要在p5.js webeditor中来回移动一个圆圈。 我需要使用if语句、变量和大于然后、小于然后等。 这是我的剧本 function setup() { createCanvas(400, 400); } function draw() { background(220); circle (200, y, 40); if (y >= 0){ y++; } if (y >= 400){ y--; } } 我知道问题

对于学校作业,我需要在p5.js webeditor中来回移动一个圆圈。 我需要使用if语句、变量和大于然后、小于然后等。 这是我的剧本


function setup() {
  createCanvas(400, 400);
}

function draw() {
  background(220);
  circle (200, y, 40);
  if (y >= 0){
    y++;
  }
  if (y >= 400){
    y--;
  }
}

我知道问题在于,当第二个if语句为true时,第一个if语句仍然为true。

试试这段代码,当圆碰到顶部或底部时,它只是反转方向

var y = 1;
var direction = true;

function setup() {
  createCanvas(400, 400);
}

function draw() {
  background(220);
  circle (200, y, 40);
  if (direction){
    y++;
  } else {
   y--; 
  }

  if (y >= height || y <= 0){
    direction = !direction;
  }
}
vary=1;
var方向=真;
函数设置(){
createCanvas(400400);
}
函数绘图(){
背景(220);
圆(200,y,40);
如果(指示){
y++;
}否则{
y--;
}

如果(y>=height | | y,您需要一个特定的“方向”(
dir=1
)变量。只有在超过限制时才更改
dir
的值,如果是下限,则将
dir
更改为1,如果是上限,则将
dir
更改为-1。然后执行
y+=dir
。那么if语句的条件应该是什么。圆圈会向下移动,但不会再次向上移动,因为if语句是a我们有冲突。下限应该像
y一样检查谢谢!你可以一步一步地解释第二个if语句是如何工作的吗?我是一个编码新手,所以大部分看起来都像月亮符文。是的,当然!第二个if语句只在y>=高度(当y大于或等于高度)或y时运行