Tableaux
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 41 sur 85.
Un tableau contient plusieurs valeurs d’un même type à la suite. Son type est suivi de crochets, et ses valeurs sont placées entre accolades :
int[] scores = { 10, 25, 7 };Chaque valeur possède un indice, sa position dans la suite, et le comptage commence à 0 : scores[0] vaut 10, scores[1] vaut 25 et scores[2] vaut 7. scores.Length indique le nombre de valeurs, soit 3 ici. Demander scores[3] arrête le script avec une IndexOutOfRangeException : il n’y a pas de quatrième valeur.
Une boucle for allant jusqu’à Length parcourt toutes les valeurs, quel que soit le contenu du tableau :
for (int i = 0; i < scores.Length; i++)
{
Debug.Log("Score " + i + ": " + scores[i]);
}Lorsque tu n’as pas besoin de l’indice, foreach est plus court : foreach (int s in scores) { Debug.Log(s); } s’exécute une fois pour chaque valeur, dans l’ordre.
Défi
MoyenFais une ligne d’horizon de 7 tours à l’aide d’un tableau et d’une boucle.
- Ajoute
6fet2fà la fin deheights:{ 2f, 5f, 3f, 1f, 4f, 6f, 2f }. - Remplace la ligne
PlaceTowerparfor (int i = 0; i < heights.Length; i++). - À l’intérieur de la boucle, appelle
PlaceTower(i * 1.5f - 4.5f, heights[i]);.
Appuie sur « Jouer » : sept tours de différentes hauteurs se dressent en rangée. Puis appuie sur « Vérifier ».
Essayez vous-même
using UnityEngine;
public class Skyline : MonoBehaviour
{
void Start()
{
float[] heights = { 2f, 5f, 3f, 1f, 4f };
// Place une tour pour chaque hauteur.
PlaceTower(-4.5f, heights[0]);
}
void PlaceTower(float x, float height)
{
GameObject tower = GameObject.CreatePrimitive(PrimitiveType.Cube);
tower.name = "Tower";
tower.transform.position = new Vector3(x, height / 2, 0);
tower.transform.localScale = new Vector3(1, height, 1);
tower.GetComponent<Renderer>().material.color = new Color(0.35f, 0.45f, 0.7f);
}
}
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