Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Interacción del Jugador con los Objetos | Comportamiento del Jugador
Juego de Lucha en Unity
course content

Contenido del Curso

Juego de Lucha en Unity

Juego de Lucha en Unity

1. Sistema de Animación de Unity
2. Comportamiento del Jugador
3. Comportamiento del Enemigo
4. Mejorar el Juego
5. Mejorar el Juego de Flappy Bird

bookInteracción del Jugador con los Objetos

Interfaces

Una interfaz es como un contrato que define un conjunto de métodos y propiedades que una clase debe implementar. Te permite especificar qué funcionalidad debe tener una clase sin proporcionar los detalles de implementación.

Ejemplo

Supongamos que estás creando un juego en Unity y quieres crear diferentes tipos de armas como espadas, pistolas y arcos. Podrías crear una interfaz llamada IWeapon que describa las acciones básicas que cualquier arma debería poder realizar, como Attack() y Reload().

Ahora, cualquier clase que quiera ser considerada un arma en tu juego debe implementar esta interfaz. Por ejemplo, podrías tener una clase Sword o una clase Gun.

Al usar interfaces, puedes asegurarte de que todas tus armas tengan la misma funcionalidad básica (Attack() y Reload()), pero cada una puede tener su propia implementación única. Esto hace que tu código sea más modular y más fácil de gestionar, especialmente a medida que tu juego crece en complejidad.

Esta es la interfaz que usamos en nuestro juego para marcar a los enemigos como objetos que podrían ser atacados.

TryGetComponent

Puntos Clave

  • raycastHit: Esto se refiere al resultado de un impacto de raycast. Cuando lanzas un rayo en Unity, obtienes información sobre qué objeto;
  • .TryGetComponent(out IGetAttacked getAttacked): Este método intenta recuperar un componente específico del transform del GameObject. La palabra clave out se utiliza para asignar el componente recuperado a la variable getAttacked, si tiene éxito. Si no, ignorará cualquier cosa bajo ese if;
  • IGetAttacked: Este es el tipo de interfaz que el código está intentando recuperar del GameObject. Especifica que el GameObject debe tener un componente que implemente la interfaz IGetAttacked.

Si el GameObject impactado por el raycast tiene un componente que implementa la interfaz IGetAttacked, la variable getAttacked contendrá una referencia a ese componente después de que esta línea se ejecute. De lo contrario, getAttacked se asignará un valor de null.

¿Cuál es el propósito del método `TryGetComponent` en Unity?

¿Cuál es el propósito del método TryGetComponent en Unity?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5
some-alt