Le mur
Leçon 5 sur 19 du cours Jeu Unity : casse-briques de Coddy.
Les briques sont disposées en grille : les rangées vont du haut vers le bas, les colonnes de gauche à droite, et chacune est une copie du prefab Brick créée dans deux boucles imbriquées. D’abord, une rangée :
float left = -(columns - 1) * spacingX / 2f;
for (int col = 0; col < columns; col++)
{
Vector3 pos = new Vector3(left + col * spacingX, topY, 0f);
Instantiate(brickPrefab, pos, Quaternion.identity, wall);
}Entre n colonnes, il y a n moins 1 espaces, donc la première se trouve à la moitié de (n - 1) * spacing vers la gauche : 5 colonnes espacées de 2 se trouvent en -4, -2, 0, 2 et 4. Chaque rangée est située spacingY plus bas que la précédente. Le quatrième argument d’Instantiate est le parent, donc chaque brique se trouve sous l’objet Wall. Avec un type de script tel que Brick pour le champ du prefab, Instantiate renvoie le script de la nouvelle brique.
Défi
MoyenConstruis un mur de briques centré.
- Dans
GameManager, ajoutepublic Brick brickPrefab;,public Transform wall;,rows = 5,columns = 9,spacingX = 1.75f,spacingY = 0.75f,topY = 6f. BuildWall(): une brique souswallpour chaque rangée et chaque colonne, aux coordonnées xleft + col * spacingX, ytopY - row * spacingY, z 0, avecleft = -(columns - 1) * spacingX / 2f.Start()appelleBuildWall().
Appuie sur « Jouer » : 45 briques forment une grille (elles ne se cassent pas encore). Puis appuie sur « Vérifier ».
Essayez vous-même
using UnityEngine;
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
void Awake()
{
Instance = this;
}
// Plus tard : le mur de briques, le score, les vies et les niveaux.
}
Toutes les leçons de Jeu Unity : casse-briques
Entraînez-vous par vous-même : Playground Unity