Системы охлаждения используются для всех видов вещей. Скорострельность, специальные атаки, магические атаки, список можно продолжить. Так как же его создать? Что ж, есть несколько вариантов, как и практически во всем, что касается программирования. Я мог бы перейти к IEnumerators и Coroutines, но это целая статья сама по себе. Итак, сегодня я просто расскажу о простом методе создания таймера задержки или перезарядки с помощью Time.time;

Time.time — это функция в Unity, которая считает и отслеживает реальное время. Таким образом, вы можете использовать эту функцию для создания таймеров в вашем коде, которые работают в режиме реального времени. Все, что вам нужно, это пара переменных. В этом примере я покажу, как создать таймер восстановления с помощью Time.time. Однако есть много других случаев, когда это можно изменить, чтобы сделать что-то еще. Однако в этом примере будет рассмотрена только система перезарядки.

Чтобы создать эту систему, как я уже говорил ранее, вы должны начать с ваших переменных. Итак, что вам нужно? Вам нужна скорострельность, которая будет определять скорость, с которой вы можете стрелять, или как быстро вы можете стрелять своими снарядами. И вам также понадобится переменная can fire, чтобы проверить, прошло ли в игре достаточно времени, чтобы снова выстрелить. Вы должны сериализовать эти переменные, чтобы их можно было легко настроить позже.

Это то, что вы будете использовать в своем методе ввода, чтобы проверить, можете ли вы снова запустить. Вы делаете это, проверяя, прошло ли ваше время _canFire внутри вашего метода ввода для запуска. Вы делаете простой метод ввода для запуска, затем добавляете амперсанд &&, который в основном и в коде проверяет, происходит ли более одной вещи. В этом случае, если вы нажимаете кнопку И прошло достаточно времени, вы говорите ему, что вы хотите, чтобы он сделал, или проверяете, возможно ли это сделать в рамках ваших временных ограничений. Итак, если вы нажали ввод и прошло достаточно времени, т.е. вашего времени перезарядки, то вы можете снова стрелять.

Итак, теперь, когда на этот раз установлена ​​проверка времени, чтобы проверить, можете ли вы снова выстрелить, вам просто нужно добавить функцию внутри вашего метода, чтобы сделать это. Таким образом, ваша скорострельность — это то, как часто вы хотите, чтобы игрок мог стрелять. Может стрелять, чтобы проверить время. Итак, мой выстрел может быть установлен на -1. Что на самом деле секунда в игре. Я использую -1 для времени, затем добавляю к этому скорострельность. Итак, в моем случае я хочу, чтобы скорострельность составляла каждые 0,5 секунды. Итак, внутри моего метода ввода огня я создаю функцию, которая добавляет скорость стрельбы к реальной секунде. В данном случае половина или 0,5. Итак, каждые 0,5 секунды игрок может снова стрелять, потому что я установил, что может стрелять = Само время или 1 секунда + скорость стрельбы 0,5 секунды. Что на самом деле составляет 0,5 секунды, потому что оно основано на реальном времени. Затем я создаю свой снаряд.

Что вы можете получить после этого, так это скорострельность или задержку, прежде чем вы сможете снова стрелять.

Это лишь один из многих способов создать простую систему перезарядки в Unity. Надеюсь, вам понравилась статья и спасибо за прочтение=).