Faire apparaître des objets avec un minuteur
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 49 sur 67.
Un générateur qui crée quelque chose toutes les quelques secondes a besoin d’un minuteur. Time.deltaTime est le temps qu’a pris la dernière image ; l’ajouter à un champ à chaque Update() donne le nombre de secondes écoulées. Lorsque le total atteint l’intervalle, créez l’objet et soustrayez l’intervalle du total.
Cette fontaine projette une goutte d’eau toutes les demi-secondes :
public GameObject dropPrefab;
public float interval = 0.5f;
float timer;
void Update()
{
timer += Time.deltaTime;
if (timer >= interval)
{
Instantiate(dropPrefab, transform.position, Quaternion.identity);
timer -= interval;
}
}timer -= interval conserve le reste : si l’image se termine au bout de 0.51 seconde, le décompte de la demi-seconde suivante commence à 0.01, et les gouttes restent synchronisées. timer = 0 supprimerait ce reste : chaque goutte arriverait donc un peu en retard, et le délai s’accumulerait au cours d’une longue partie. timer est privé, car personne n’a besoin de le définir dans l’inspecteur.
Défi
MoyenLe Dropper doit lâcher une boîte toutes les interval secondes (l’Inspector indique 2) : la première boîte 2 secondes après avoir appuyé sur Play, puis une autre toutes les 2 secondes.
- Fais apparaître chaque boîte à la position du dropper, sans rotation.
- Après chaque boîte, affiche son numéro dans le journal :
Box 1,Box 2, et ainsi de suite.
Appuie sur Play et regarde la pile grandir, puis appuie sur Check.
Essayez vous-même
using UnityEngine;
public class BoxDropper : MonoBehaviour
{
public GameObject boxPrefab;
public float interval = 1f;
void Update()
{
// Toutes les interval secondes : faire tomber une boîte et afficher dans le journal "Box 1", "Box 2"...
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les bases du scripting dans Unity
1Votre premier script
Bonjour, UnityPlacez le cubeBouger à chaque imageTourner chaque secondeDirigez avec les touchesRécapitulatif : conduisez le cube4Vecteurs
Addition de vecteursDirectionsEspaces local et mondeVitesse diagonaleDistance entre les objetsVector3 est une structRécapitulatif : pilote de drone7Projet : Attrape l’étoile
L’attrapeurUne étoile qui tombe2L’inspecteur
Champs de l’inspecteurSerializeFieldNombres flottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur5Transformations et hiérarchie
Parents et enfantsÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : Lune en orbite8Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que FindLe null de UnityRécapitulatif : la pièce la plus proche11Projet : Esquivez les blocs
Le coureurBlocs qui tombent6GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur9Prefabs et apparition d’objets
Prefabs et instanciationFaire apparaître des objets avec un minuteurFaire apparaître des objets dans une grilleListes d’objetsDétruireApparitions aléatoiresRécapitulatif : feux d’artifice