Unity-2D aprendendo [registro de BUG] o problema da mudança de cor quando o inimigo é atingido

Requisito: A cor do inimigo muda após ser atingido

O Color.red original não pode atender aos requisitos visuais, portanto, o seletor de cores obtém um valor RGBA e o realiza definindo uma variável Color.

public Color injured;

...

injured = new Color(191f, 96f, 96f, 255f);

spriteRenderer.color = injured;

Existe o BUG1: Unity não reporta erro, mas não vai mudar de cor após o ataque, mas usa diretamente spriteRenderer.color = Color.red, está ok.

Pensei no problema da definição, encontrei a API e descobri que existem classes Color e Color, e o valor máximo de Color é 1, e o valor máximo de Color32 é 255, então pode funcionar normalmente após a modificação.

BUG2: A classe instance herda a classe abstrata Enemy, e o código que é atacado é definido na classe virtual, podendo aparecer um erro posteriormente.

Acho que esse erro é que os métodos Start e Update da classe pai não são chamados na instância, basta usar base.Start(); ou base.Update();.

Acho que você gosta

Origin blog.csdn.net/Joker6578/article/details/127922578
Recomendado
Clasificación