for (i = 0; i < myObstacles.length; i += 1) {
  myObstacles[i].x += -10;
  myObstacles[i].update();
  if (myGameArea.frameNo >= 100 >= everyinterval(100)) {
    myObstacles[i].x += -5
    myObstacles[i].update();
  }
}

function everyinterval(n) {
  if ((myGameArea.frameNo / n) % 1 == 0) {
    return true;
  }
  return false;
}


在这种情况下,“ myGameArea.frameNo”是游戏的得分,而“ myObstacles”是障碍物的速度。我想做的是,每达到100分,障碍就会增加-5速度。因此,在0-99时,速度将为-10,在100-199时,速度将为-15,依此类推。我很困惑,谢谢您的时间和帮助

我可以代替

  if (myGameArea.frameNo >= 100) {
    myObstacles[i].x += -5
    myObstacles[i].update();
  }
  if (myGameArea.frameNo >= 200) {
    myObstacles[i].x += -5
    myObstacles[i].update();
  }
  if (myGameArea.frameNo >= 300) {
    myObstacles[i].x += -5
    myObstacles[i].update();
  }


我想要的是一种更快的方法来完成每一行

最佳答案

您可以尝试使用此方法,而不要使用if

速度+ =-5 *(1+分数/ 100);

例:

所以
当分数
-5 *(1 + 99/100)=-5 *(1 + 0)=-5

当分数为103时

-5 *(1 + 103/100)=-5 *(1 + 1)=-10

希望能帮助到你

09-25 15:17