Invoke dans Update
Publié : 08 Jan 2021 10:48
Bonjour,
Mon but est d'attendre avant d'avoir la possibilité d'instantier un dogPrefab, donc je peux appuyer sur la barre espace mais cette dernière n'instantiera qu'au bout d'un certain temps et pour faire cela j'ai utilisé Invoke avec un temps de 3s mais Ô surprise, pour le premier appel, première prefab à 3s pour la suite lorsque je j'appuie sur espace plusieurs fois alors il y a autant de prefab que d'appui hors je pensais que Invoke attendrait 3s comme spécifié à chaque appel de Update().
du coup je ne comprends pas pourquoi et ne sais comment placer un temps d'attente entre deux prefab?
Merci pour votre aide, j'espère avoir été assez clair, j'ai bien fait des recherches mais je suis tombé sur des truc type IEemumerator yield and co... mais toujours le même prob.
Ketsui.
Mon but est d'attendre avant d'avoir la possibilité d'instantier un dogPrefab, donc je peux appuyer sur la barre espace mais cette dernière n'instantiera qu'au bout d'un certain temps et pour faire cela j'ai utilisé Invoke avec un temps de 3s mais Ô surprise, pour le premier appel, première prefab à 3s pour la suite lorsque je j'appuie sur espace plusieurs fois alors il y a autant de prefab que d'appui hors je pensais que Invoke attendrait 3s comme spécifié à chaque appel de Update().
du coup je ne comprends pas pourquoi et ne sais comment placer un temps d'attente entre deux prefab?
Code : Tout sélectionner
void Update()
{
// On spacebar press, send dog
Invoke("StartDog",3);
}
void StartDog()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Instantiate(dogPrefab, transform.position, dogPrefab.transform.rotation);
}
}
Ketsui.