Revisão: Estados da Porta
Parte da seção Arquitetura de jogos no Unity do Journey de Unity da Coddy. Lição 32 de 50.
Desafio
MédioUma porta de castelo com uma fechadura. As setas movimentam o Player, e a chave dourada chama door.Unlock() quando o jogador a pega (ambos prontos). IState e a StateMachine do capítulo estão no projeto. Door.cs contém os valores do Inspector (closedY 1.5, openY 4, speed 2, stayOpen 2, reach 2.5), um campo machine e PlayerNear(). Dê à porta cinco estados, como classes em DoorStates.cs, chamadas LockedState, ClosedState, OpeningState, OpenState e ClosingState:
- A porta começa Trancada. A tecla Espaço perto dela (
PlayerNear()) apenas registraLocked.Unlock()muda uma porta trancada para Fechada e não faz nada em nenhum outro estado. - Fechada: a tecla Espaço perto da porta começa a abri-la.
- Abrindo: a porta sobe a
speedaté que seu y sejaopenY; então fica Aberta. - Aberta: após
stayOpensegundos, começa a fechar. - Fechando: a porta desce a
speedaté que seu y sejaclosedY; então fica Fechada. Se a tecla Espaço for pressionada perto dela durante a descida, ela abre novamente a partir de onde está.
Pressione Play, experimente a porta trancada, pegue a chave, abra a porta e atravesse, depois Check.
Experimente você mesmo
using UnityEngine;
// LockedState, ClosedState, OpeningState, OpenState e ClosingState
Todas as lições de Arquitetura de jogos no Unity
1Componentes, não hierarquias
Componentes pequenosUm script-base para inimigosComponentes abstratosComponentes trabalhando juntosRevisão: Torre modular4Dados Serializados
Classes SerializáveisListas no InspectorEnums no InspectorRevisão: Tabela de Loot7Máquinas de Estados
Estados como ClassesUma Máquina de EstadosTransiçõesInteligências dos InimigosRevisão: Estados da Porta10Projeto: Sobrevivente da Arena
O HeróiTipos de Inimigos5ScriptableObjects
Assets de dadosAtributos das armasConfigurações compartilhadasOndas como dadosRevisão: banco de dados de itens