Invoquer
Fait partie de la section Physique et gameplay du Journey Unity de Coddy. Leçon 21 sur 63.
Invoke("Explode", 3f) appelle une fois la propre méthode du script Explode, dans 3 secondes, et le code qui suit continue immédiatement. Unity trouve la méthode grâce à son nom, donné sous forme de chaîne, et la méthode ne prend aucun paramètre. Cette bombe explose 3 secondes après le démarrage du jeu :
void Start()
{
Invoke("Explode", 3f);
}
void Explode()
{
Debug.Log("Boom");
Destroy(gameObject);
}Comme le nom est une chaîne, le compilateur ne peut pas le vérifier. Invoke("Explod", 3f) est compilé, et 3 secondes plus tard, Unity affiche Trying to Invoke method: Bomb.Explod couldn't be called. au lieu de provoquer l’explosion. Le nameof de C# résout ce problème : nameof(Explode) est la chaîne "Explode", générée par le compilateur à partir d’un nom qu’il a vérifié. Une faute de frappe à l’intérieur provoque donc une erreur de compilation que vous voyez avant l’exécution du jeu. Écrivez Invoke(nameof(Explode), 3f);.
Défi
FacileLa plateforme entre les deux rebords est une plateforme qui s’effondre. Son Rigidbody est cinématique, elle reste donc suspendue dans les airs. Écris son script Crumble :
- Lorsque le joueur atterrit dessus, elle attend
delaysecondes (1 dans l’Inspector), puis tombe. - La chute est une méthode nommée
Fall: elle active la physique de la plateforme (isKinematic = false) et afficheCrumble!dans les logs. - Avant que le joueur ne la touche, la plateforme reste à sa place.
Utilise nameof pour le nom de la méthode. Appuie sur Play et marche sur la plateforme avec les flèches, puis clique sur Check.
Essayez vous-même
using UnityEngine;
public class Crumble : MonoBehaviour
{
public float delay = 1f;
Rigidbody body;
void Start()
{
body = GetComponent<Rigidbody>();
}
void OnCollisionEnter(Collision collision)
{
// Quand le joueur atterrit : faire tomber la plateforme delay secondes plus tard
}
// Fall() : activer la physique de la plateforme et écrire Crumble! dans le journal
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Physique et gameplay
1Corps rigide
Gravité et massePousser avec AddForceSauter avec une impulsionFixedUpdate pour la physiqueVitesseCorps cinématiquesRécapitulatif : plateforme de lancement4Coroutines
InvoquerInvokeRepeating, CancelInvokeVotre première coroutineBoucles dans les coroutinesArrêter les coroutinesRécapitulatif : compte à rebours2Collisions
OnCollisionEnterQu’est-ce que j’ai touché ?Se briser à l’impactRester au solRebond et frictionFormes des collidersRécapitulatif : mur destructible5Projet : Course aux pièces
La balle roulanteDes pièces à ramasser