2D космический шутер - фаза II: основные задачи программирования

Цель: создать опасность, замедляющую игрока на короткий период времени.

Примечание. Это часть 2D космического шутера в стиле ретро, ​​где игрок может собирать бонусы. Эта опасность будет вести себя как усиление, хотя ее сбор будет иметь неблагоприятные последствия для игрока. Таким образом, это будет следовать сценарию включения питания.

Программирование опасности

  1. Добавить глобальную переменную типа bool. Это позволит нам в дальнейшем устранить опасность.

2. Создайте метод для обработки и при необходимости установите для логического значения значение true. Лучше всего создать метод для обработки изменений значения типа bool, а не делать это "на лету". Здесь мы также замедляем игрока, уменьшая скорость вдвое.

3. Сделайте сопрограмму для определения продолжительности опасности. Приведенная ниже сопрограмма запрограммирована так, что скорость игрока возвращается к норме через 5 секунд. Для ранее созданной переменной bool установлено значение false, чтобы программа знала, что ей больше не нужно уменьшать скорость вдвое.

4. Теперь, когда у вас есть сопрограмма, пора ее запустить. Это будет добавлено к ранее сделанному методу void.

5. Вызовите метод HazardEnabled, когда игрок вступает в контакт с опасностью. Эта логика основана на обнаружении OnTriggerEnter. Мой был помещен в Modular Power-Up Script, который использует оператор переключения для выполнения методов в зависимости от того, какой объект обнаружен.

Результат:

Эта статья является частью серии Core Programming Challenges от GameDevHQ. В следующей статье я напишу о реализации врага, который может использовать барьер / щит!