Unity 6.3
0 онлайн 21 гостей 3 в системе
Вход

MonoBehaviour.InvokeRepeating

Declaration

public void InvokeRepeating(string methodName, float time, float repeatRate);

Параметры

Параметр Описание
methodName Имя вызванного метода.
время Время ожидания в секундах перед первым вызовом.
repeatRate Интервал в секундах между вызовами методов.

Описание

Вызывается указанный метод после указанной задержки, а затем повторяется с указанной частотой.

Чтобы отменить InvokeRepeating, используйте MonoBehaviour.CancelInvoke.

Параметры time и repeatRate зависят от Time.timeScale. Например, Time.timeScale из 2 фактически вдвое уменьшает значения реального времени time и repeatRate, в то время как Time.timeScale из 0.5 удваивает их. Если Time.timeScale равны 0, то method никогда не вызовется.

Вы не можете изменить значение интервала repeatRate во время выполнения InvokeRepeating. Вы должны отменить и повторить вызов, чтобы изменить его.

using UnityEngine;
using System.Collections.Generic;

// After an initial 2 second wait, launch a projectile every 0.3 seconds

public class ExampleScript : MonoBehaviour { public Rigidbody projectile;

void Start() { InvokeRepeating(nameof(LaunchProjectile), 2.0f, 0.3f); }

void LaunchProjectile() { Rigidbody instance = Instantiate(projectile);

instance.velocity = Random.insideUnitSphere * 5; } }