Comment puis-je spawn des ennemis dans un certain intervalle aléatoire?
Je suis à la recherche d'ennemis à frayer à un intervalle aléatoire entre 5 et 15 secondes.
Voici le code que j'ai maintenant. J'ai le déplacement ou le script de transformation sur le prefab ennemi.
using UnityEngine;
using System.Collections;
public class Spawner : MonoBehaviour {
public float spawnTime = 5f; //The amount of time between each spawn.
public float spawnDelay = 3f; //The amount of time before spawning starts.
public GameObject[] enemies; //Array of enemy prefabs.
public void Start ()
{
//Start calling the Spawn function repeatedly after a delay .
InvokeRepeating("Spawn", spawnDelay, spawnTime);
}
void Spawn ()
{
//Instantiate a random enemy.
int enemyIndex = Random.Range(0, enemies.Length);
Instantiate(enemies[enemyIndex], transform.position, transform.rotation);
}
}
Actuellement, cela engendre des ennemis toutes les 3 secondes. Comment puis-je frayer un ennemi toutes les 5 à 15 secondes?
OriginalL'auteur Exilekiller | 2014-03-22
Vous devez vous connecter pour publier un commentaire.
Un tel cas, vous voudrez peut-être faire usage d'un WaitForSeconds appel. C'est un YieldInstruction qui permettra de suspendre une coroutine pour une certaine période de temps.
Afin de vous créer une méthode pour effectuer la ponte, en faire une coroutine, et avant de vous faire l'instanciation, vous attendez que votre aléatoires période de temps. Qui ressemblerait à quelque chose comme ceci:
Lui donner un essai. Cela devrait fonctionner.
OriginalL'auteur Bart