O estado de alerta
Parte da seção Arquitetura de Jogos no Unity do Journey de Unity da Coddy. Lição 36 de 64.
Desafio
MédioAlerta a torre quando o jogador se aproximar.
- Em
TurretStates.cs, escrevaAlertState, recebendo a cabeça e o jogador. Ao entrar: defina a cabeça comoColor.rede registreIntruder!. A cada atualização: vire-se para o jogador em torno do eixo y. Ao sair: registreAll clear. - Em
Turret, escrevaSetState(IState next): execute Exit do estado antigo e, em seguida, Enter do novo. - Atualize para alertar quando estiver dentro de
range; caso contrário, examine a área e, em seguida, atualize o estado atual.
Pressione “Jogar” e caminhe para perto. Depois, “Verificar”.
Experimente você mesmo
using UnityEngine;
public class ScanState : IState
{
private Transform head;
private float angle;
private float direction = 1f;
public ScanState(Transform head)
{
this.head = head;
}
public void Enter()
{
angle = 0f;
direction = 1f;
head.GetComponent<Renderer>().material.color = Color.green;
}
public void Tick()
{
angle += 90f * direction * Time.deltaTime;
if (angle > 45f)
{
angle = 45f;
direction = -1f;
}
if (angle < -45f)
{
angle = -45f;
direction = 1f;
}
head.localRotation = Quaternion.Euler(0f, angle, 0f);
}
public void Exit()
{
}
}
Todas as lições de Arquitetura de Jogos no Unity
1Componentes, não hierarquias
Componentes pequenosUm script base de inimigoComponentes abstratosComponentes trabalhando juntosRevisão: torre modularRevisão: canhão duplo4Dados Serializados
Classes SerializáveisListas no InspectorEnums no InspectorRevisão: Tabela de LootRevisão: Sorteie o Loot7Máquinas de estados
Estados como classesO estado de alertaUma máquina de estadosTransiçõesCérebros dos inimigosO cavaleiro atacaRevisão: estados da porta2Interfaces no Unity
IDamageableInterfaces e TryGetComponentGetComponentsRevisão: tecla de interaçãoRevisão: mais próximo ao alcance5ScriptableObjects
Ativos de DadosAtributos da ArmaConfigurações CompartilhadasSalve o VentoOndas como DadosRevisão: Banco de ItensRevisão: Comprar na LojaPratique por conta própria: Playground de Unity