Repaso: tecla de interacción
Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 9 de 50.
Desafío
FácilDale al jugador una tecla para interactuar. Las flechas mueven al Player (Mover.cs, listo), y la barra espaciadora usa el objeto más cercano que esté al alcance y se pueda usar. Escribe las partes:
- IInteractable: una interfaz con un método,
void Interact(). - Door: cada uso la abre o la cierra. Al abrirla, gira 90 grados alrededor del eje y y registra
Door opened; al cerrarla, gira de vuelta y registraDoor closed. - Chest: el primer uso registra
Found 5 coins(suscoins, que configura el Inspector) y la vacía. Cada uso posterior registraThe chest is empty. - Lever: cada uso activa o desactiva
bridge(un GameObject que configura el Inspector y que está oculto al inicio) y registraLever pulled. - Interactor, en el Player: cuando se pulsa la barra espaciadora (léela con
Keyboard.currentdel Input System), encuentra los colliders dentro dereach(1.5) conPhysics.OverlapSpherey llama aInteract()en el que tenga un IInteractable y cuya posición esté más cerca del jugador. Si no hay nada al alcance, no pasa nada.
Pulsa Play, camina y usa todo, y luego pulsa Check.
Pruébalo tú mismo
using UnityEngine;
using UnityEngine.InputSystem;
// Space utiliza el objeto más cercano que esté a su alcance.
public class Interactor : MonoBehaviour
{
public float reach = 1.5f;
}
Todas las lecciones de Arquitectura de juegos en Unity
1Componentes, no jerarquías
Componentes pequeñosUn script base para enemigosComponentes abstractosComponentes que trabajan juntosRepaso: torreta modular4Datos serializados
Clases serializablesListas en el InspectorEnumeraciones en el InspectorRepaso: tabla de botín7Máquinas de estados
Estados como clasesUna máquina de estadosTransicionesCerebros de enemigosRepaso: estados de puertas10Proyecto: Superviviente de la arena
El héroeTipos de enemigos2Interfaces en Unity
IDamageableInterfaces y TryGetComponentGetComponentsRepaso: tecla de interacción5ScriptableObjects
Recursos de datosEstadísticas de armasConfiguración compartidaOleadas como datosRepaso: base de datos de objetos