I. Introduction▲
Le projet présenté dans cette série est tout aussi bien compatible avec Unity 4.6 qu'avec Unity 5.
Vous pouvez retrouver les autres épisodes de cette série dans le sommaire dédié.
II. Vidéo▲
Unity – Roguelike 2D - Murs
III. Résumé▲
Ici, nous créons un script Wall.cs permettant au joueur de détruire un mur.
III-A. Wall.cs▲
Lorsque le joueur attaque le mur, le sprite utilisé est différent. De plus, le mur a un certain nombre de points de vie et ne disparaîtra que lorsque le joueur l'aura complètement détruit(et qu'il n'aura plus aucun point de vie).
III-A-1. Script▲
using UnityEngine;
using System.Collections;
namespace Completed
{
public class Wall : MonoBehaviour
{
public AudioClip chopSound1; // premier clip audio joué lorsque le mur est attaqué par le joueur
public AudioClip chopSound2; // deuxième clip audio joué lorsque le mur est attaqué par le joueur.
public Sprite dmgSprite; // Sprite secondaire à afficher lorsque le joueur a attaqué le mur.
public int hp = 3; // point de vie du mur.
private SpriteRenderer spriteRenderer; // Stocke une référence du composant SpriteRenderer attaché.
void Awake ()
{
// Récupère une référence sur le composant SpriteRenderer.
spriteRenderer = GetComponent<SpriteRenderer> ();
}
// La fonction DamageWall est appelée lorsque le joueur attaque un mur.
public void DamageWall (int loss)
{
// Appelle la fonction RandomizeSfx du SoundManager pour jouer un ou deux sons de chocs.
SoundManager.instance.RandomizeSfx (chopSound1, chopSound2);
// Définit le sprite à afficher par le spriteRenderer avec le sprite endommagé.
spriteRenderer.sprite = dmgSprite;
// Soustrait loss des points de vie.
hp -= loss;
// Si les points de vie sont inférieurs ou égaux à zéro :
if(hp <= 0)
// Désactive gameObject.
gameObject.SetActive (false);
}
}
}IV. Ressources▲
Vous pouvez télécharger les ressources pour ce projet sur l'Asset Store de Unity.
V. Commenter▲
Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum.




