Unity – Roguelike 2D

Murs

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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

 
Sélectionnez
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.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2015 Unity Technologies. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.