Créer un effet de Text dans Unity lors du ramassage des items

Dans cette vidéo je vous propose de réaliser un système permettant d’affiche un texte a coté de l’item que votre personnage devra ramasser et d’afficher des informations a l’écran.

En outre le texte aura pour effet un déplacement verticale vers le haut mais aussi un effet de fondu pour devenir progressivement transparent !

Retrouver le script ci dessous :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PickupText : MonoBehaviour {

    public float ShowDuration = 1f;
    public float FadeSpeed = 0.05f;
    public float MoveStep = 0.1f;
    public Collider2D HideCollider;
    public SpriteRenderer HideSpriteRenderer;

    GameObject Go;

    public void ShowPickupText (string txt)
    {
        Go = Instantiate(Resources.Load("PickupText") as GameObject,
            transform.position, 
            Quaternion.identity);
        Go.GetComponent<TextMesh>().text = txt;

        HideCollider.enabled = false;
        HideSpriteRenderer.enabled = false;

        StartCoroutine(Show());
    }

    IEnumerator Show()
    {
        yield return new WaitForSeconds(ShowDuration);

        Color alphaColor = Go.GetComponent<TextMesh>().color;

        while (alphaColor.a>=0)
        {
            alphaColor = new Color(alphaColor.r,
                alphaColor.g,
                alphaColor.b,
                alphaColor.a - 0.05f);
            Go.GetComponent<TextMesh>().color = alphaColor;
            yield return new WaitForSeconds(FadeSpeed);

            Go.transform.Translate(Vector3.up * MoveStep);
        }

        Destroy(Go.gameObject);
        Destroy(gameObject);
    }
}

 

 

A propos de upln 279 Articles
En informatique le problème se situe souvent entre la chaise et le clavier !

Soyez le premier à commenter

Poster un Commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.