У меня есть цикл for в function setup(), который я хотел бы сбросить и запустить снова, когда моя игра перезагрузится. Цель сброса цикла - вернуть все объекты в массиве в их начальное положение и цвет или просто создать совершенно новые объекты.

function setup() {
  createCanvas(550, 550)
  for(let i = 0; i<200; i++) {
    x = random(width)
    y = -50 - 50 * i
    r = random(15,50)
    enemies[i] = new Enemy (x, y, r)
  }
}

Я полагаю, что я не смогу сделать это напрямую, поскольку function setup() может работать только один раз, поэтому есть ли обходной путь для сброса цикла for setup ()?

Ссылка на полный код здесь при необходимости

-1
Jalal 9 Ноя 2021 в 06:07
1
Переместите соответствующий код, чтобы сбросить их на другую функцию, скажем, reset(), а затем вызовите это из setup(), а также вызовите его всякий раз, когда вам нужно их сбросить?
 – 
David Conrad
9 Ноя 2021 в 06:11
Это не сработает, поскольку setup() выполняется только один раз в начале программы
 – 
Jalal
9 Ноя 2021 в 06:16
1
Да, но вы можете вызвать эту другую функцию, reset(), в любое время.
 – 
David Conrad
9 Ноя 2021 в 06:18
1
СПАСИБО СПАСИБО ТАКОЕ БОЛЬШОЕ. Это чертовски сработало. Я мог бы спать сегодня вечером. Большое спасибо, чувак.
 – 
Jalal
9 Ноя 2021 в 06:28

1 ответ

Лучший ответ

Переместите соответствующий код, чтобы сбросить их на другую функцию, например, reset(). Затем вы можете позвонить reset() из setup(), а также позвонить reset(), когда вам нужно их сбросить.

0
David Conrad 9 Ноя 2021 в 06:30