Des variables qui mémorisent
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 5 sur 85.
Unity appelle Update() à chaque image, et chaque appel repart de zéro : une variable créée dans une méthode est supprimée lorsque la méthode se termine. Ce compteur ne dépasse donc jamais 1 :
void Update()
{
int frames = 0;
frames++;
}frames++ ajoute 1, c’est la façon abrégée d’écrire frames += 1. Mais à l’image suivante, int frames = 0; s’exécute de nouveau et le compteur repart de zéro.
Pour mémoriser une valeur d’une image à la suivante, crée la variable dans la classe, mais en dehors de toutes les méthodes. Une variable déclarée à cet endroit est un champ : elle existe aussi longtemps que l’objet, et toutes les méthodes de la classe peuvent l’utiliser.
int frames = 0;
void Update()
{
frames++;
}Maintenant, frames continue de compter : 1, 2, 3, et ainsi de suite, en augmentant de 1 à chaque image.
Défi
FacileFais en sorte que la plante continue de grandir.
- Coupe la ligne
int frames = 0;à l’intérieur deUpdate(). - Colle-la au-dessus de
void Update(), à l’intérieur de la classe, afin queframesdevienne un champ qui mémorise son compte.
Appuie sur « Jouer » : la plante grandit un peu à chaque image. Puis clique sur « Vérifier ».
Essayez vous-même
using UnityEngine;
public class Grower : MonoBehaviour
{
void Update()
{
int frames = 0;
frames++;
transform.localScale = new Vector3(1, 1 + frames * 0.01f, 1);
}
}
Toutes les leçons de Les bases du scripting dans Unity
1Les bases de C# dans Unity
Bonjour, UnityVariablesLes nombres décimaux ont besoin d’un fDu texte dans la consoleDes variables qui mémorisentSi et sinonComparer des nombresRécapitulatif : le collecteur de pièces7Boucles et méthodes
Répéter avec forBoucles imbriquéesÉcrire une méthodeMéthodes qui renvoient une réponseTableauxRécapitulatif : escalier10Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que la rechercheLe null de UnityRécapitulatif : la pièce la plus proche13Projet : Éviter les blocs
Le coureurDes blocs tombent du ciel2Mettez-le en mouvement
Placez le cubeDéplacez-le à chaque frameTournez chaque secondeDirigez avec les touchesRécapitulatif : pilotez le cube5Vecteurs
Additionner des vecteursDirectionsEspace local et espace globalVitesse diagonaleDistance entre des objetsVector3 est une structureRécapitulatif : pilote de drone8GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur3L’inspecteur
Champs de l’inspecteurSerializeFieldFlottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur6Transformations et hiérarchie
Parents et enfantsHissez le drapeauÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : la lune en orbite9Projet : Attrape l’étoile
Le receveurUne étoile filanteEntraînez-vous par vous-même : Playground Unity