반응형
코드 작성
캐릭터 피격 후 무적 시간 애니메이션으로 사용할 수 있습니다.
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());
}
}
반응형