본문 바로가기
개발/C#

유니티 C# UI 효과 깜빡이기 간단 구현 SpriteRenderer

by SPNK 2022. 12. 22.
반응형

코드 작성

캐릭터 피격 후 무적 시간 애니메이션으로 사용할 수 있습니다.

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

public class Flicker : MonoBehaviour
{

    private SpriteRenderer spriteRenderer;

    public float delay = 0.5f; //딜레이

    public int repeat = 4; //반복 횟수

    int value = 0;


    private void Awake()
    {
        spriteRenderer = GetComponent<SpriteRenderer>();
    }


    public void Hit()
    {
        value = repeat;

        StartCoroutine(FlickerCoroution());
    }

    IEnumerator FlickerCoroution()
    {
        if(value > 0)
        {
            value -= 1;
        }
        else
        {
            yield break;
        }

        spriteRenderer.color = new Color(spriteRenderer.color.r, spriteRenderer.color.g, spriteRenderer.color.b, 0.5f);

        yield return new WaitForSeconds(delay);

        spriteRenderer.color = new Color(spriteRenderer.color.r, spriteRenderer.color.g, spriteRenderer.color.b, 1);

        yield return new WaitForSeconds(delay);

        StartCoroutine(FlickerCoroution());
    }
}
반응형

댓글