Unity2D — мигающий объект игрока после попадания

#unity3d

#unity3d

Вопрос:

У меня есть система иммунитета, которая активируется каждый раз, когда игрок получает удар (поэтому все сердца не исчезают за один удар), и я пытаюсь заставить объект игрока мигать или мигать, как в играх Sonic.

Вот часть кода, обеспечивающая неприкосновенность:

 private void checkImmunity()
{
    if (immunity > 0)
    {
        immunity -= Time.deltaTime;
        isImmune = true;

    }
    else
    {
        isImmune = false;
    }
}
  

Кто-нибудь может мне с этим помочь?

Комментарии:

1. Пожалуйста, определите blink or flash и расскажите нам, что вы уже пробовали

Ответ №1:

вы можете редактировать цвет SpriteRenderer с помощью свойства .color: например:

oldcolor = this.GameObject.GetComponent().color;

this.GameObject.GetComponent().color = новый цвет (0,5f, 0,5f, 0,1f);

и после завершения иммунитета: this.GameObject.GetComponent().color = oldcolor;

по какой-то причине он не вставляет «SpriteRenderer», который должен быть в части getcomponent