Как заставить объект появляться через определенное количество времени в обработке - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь создать программу, в которой вы - корабль, и вы просто избегаете комет, летящих к вам.Я немного знаю, как использовать списки массивов для добавления и вычитания объектов, но я не уверен, как заставить программу добавлять и вычитать объекты через определенное время, например, 5 секунд.Моя цель - сделать так, чтобы каждая комета появлялась на расстоянии 2 секунды друг от друга, но я не знаю как.Если кто-то может помочь, пожалуйста, дайте мне знать!

1 Ответ

0 голосов
/ 07 октября 2018

Обработка предоставляет полезную переменную frameCount, которую можно использовать для такого поведения синхронизации.

Вы можете использовать его в сочетании с оператором по модулю % (оператор, который возвращает остаток после деления двух чисел), следующим образом:

draw() {
    .
    .
    .
    if (frameCount % t == 0) {
        spawnComet();
    }
    .
    .
    .
}

Предполагая, что frameRate установлен на 60, t принимает значение 60 * (желаемая задержка в секундах).Вы хотите порождать кометы каждые 2 секунды: 60 * 2 = 120. Поэтому установите t на 120, чтобы удовлетворить требованиям вашего примера.Это означает, что spawnComet() будет срабатывать каждые 120 кадров.

...