Системы охлаждения используются для всех видов вещей. Скорострельность, специальные атаки, магические атаки, список можно продолжить. Так как же его создать? Что ж, есть несколько вариантов, как и практически во всем, что касается программирования. Я мог бы перейти к 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. Надеюсь, вам понравилась статья и спасибо за прочтение=).