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.