La mordida de los cazadores
Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 63 de 71.
Desafío
IntermedioHaz que los cazadores muerdan y empujen al jugador hacia atrás.
- En
Hunter, añade[SerializeField] private float knockback = 12f;yvoid OnCollisionEnter(Collision collision). - Dentro, cuando se cumpla
collision.gameObject.TryGetComponent(out Health health), llama ahealth.TakeDamage(1);. - Después empújalo:
awaydesde el cazador hacia el jugador, con y establecida en 0, ycollision.rigidbody.AddForce(away.normalized * knockback, ForceMode.Impulse);.
Pulsa «Jugar» y mira cuánto tiempo aguantas. Después, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
public class Hunter : MonoBehaviour
{
[SerializeField] private float speed = 3f;
private Rigidbody rb;
private Transform player;
void Start()
{
rb = GetComponent<Rigidbody>();
player = GameObject.FindWithTag("Player").transform;
}
void FixedUpdate()
{
Vector3 toPlayer = player.position - rb.position;
toPlayer.y = 0f;
Vector3 dir = toPlayer.normalized;
rb.linearVelocity = new Vector3(dir.x * speed, rb.linearVelocity.y, dir.z * speed);
}
}
Todas las lecciones de Física y jugabilidad
1Cuerpo rígido
Gravedad y masaEmpujar con AddForceSaltar con un impulsoFixedUpdate para físicaVelocidadCuerpos cinemáticosRepaso: plataforma de lanzamiento4Corrutinas
InvocarInvokeRepeating y CancelInvokeTu primera corrutinaBucles en corrutinasDetener corrutinasRepaso: cuenta regresiva10Proyecto: Escape de la arena
La arenaCazadores2Colisiones
OnCollisionEnter¿Qué golpeé?Romper al impactarDe pie sobre el sueloRebote y fricciónFormas de los collidersRepaso: muro destructible5Proyecto: Carrera de Monedas
La pelota rodanteMonedas para recoger3Disparadores
Colisionadores de tipo triggerOnTriggerEnterObjetos coleccionablesLas cajas guardan el restoZonas letalesEntrada y salidaRepaso: llave y puertaPractica por tu cuenta: Playground de Unity