метод Update в c# выполняет определённый ряд действий каждый кадр. Предроложим, что я хочу сделать медленное увеличение предмета. Изначальный его размер - 20 по x и 20 по y, я же хочу, чтобы эти переменные плавно перешли из двадцати к тридцати. В таком случае я пишу, что float scale = 20 (Там, где объявляются переменные), а scale++; кидаю в while. Но в вайле всё обрабатывается мгновенно, и как только скрипт запускается, scale для предмета уже равен 30. Как мне сделать плавное увеличение и так, чтобы while выполнялся не со скоростью вычисления компьютера, а по тикам, как в update?
While тут вообще не причём. Это можно сделать через корутину с IEnumerator функцией, которую ты видимо увидел, но это не история про анимацию с течении времени. То, что ты увидел это просто пример, корутина для другого.
Изучи каждую строчку, разберись и запомни, как отче наш! Спрашивай если не понятно. Действия в течении времени это очень частая хрень.
void Start () {
gameObject.AddComponent<ScaleAction>().Setup(20f, 30f, 3f);
}
...
public class ScaleAction : MonoBehaviour {
float ScaleTimer;
float ScaleTime;
float ScaleFrom;
float ScaleTo;
public void Setup (float from, float to, float time) {
ScaleTimer = 0;
ScaleTime = time;
ScaleFrom = from;
ScaleTo = to;
SetScale(ScaleFrom);
}
void Update () {
ScaleTimer += Time.deltaTime;
float Way = ScaleTimer/ScaleTime; // Way 0 -> 1
if (Way < 1) {
SetScale(ScaleFrom+(ScaleTo-ScaleFrom)*Way);
} else {
SetScale(ScaleTo);
Destroy(this); // Destroy ScaleAction
}
}
void SetScale (float scaleValue) {
gameObject.transform.localScale = new Vector3(scaleValue, scaleValue, scaleValue);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет, вопрос такого рода, в документации написано, что при записи в поле с типом данных CHAR(длинна), поле дополняется после текста пробелами,...
Подскажите пожалуйста, как в конструкторе Visual Studio можно сделать такую таблицу и добавлять в неё результаты работы программы?
Я создаю подобие серверного приложения с помощью TCPListenerКогда клиент подключается к серверу с помощью TCPClient, сервер должен определить адрес...
Требуется найти сумму и произведение элементов массива(условия в коде) и вывести переменные произведения и суммы