Golf de canicas
Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 68 de 71.
Golf con una canica en un pequeño campo. La canica empieza en el tee: apúntala con las flechas, mantén pulsada la barra espaciadora para aumentar la potencia y suéltala para golpearla. Rueda, rebota en los bordes y en el bloque del centro, y va perdiendo velocidad; cuando va lo bastante despacio, se detiene por completo. Solo entonces puedes volver a golpearla. Si una canica rueda lentamente hasta el hoyo, cae dentro; si llega demasiado rápido, pasa de largo. Cuantos menos golpes, mejor.
Escribe dos scripts: Golf para la canica y Hole para el hoyo.
Desafío
DifícilEscribe la bola de golf: apunta, carga y golpea.
- Gira
aimcon el eje Horizontal sin procesar aaimSpeed; colocapointerentransform.position + Quaternion.Euler(0f, aim, 0f) * Vector3.forward. - En reposo (velocidad inferior a
stopSpeed), mantener pulsada la barra espaciadora cargapowera razón dechargeRatehastamaxPower; al soltarla, la impulsa en la dirección apuntada (Impulse), restablecepowery registra"Stroke " + strokes. - En
FixedUpdate(), en reposo, pon ambas velocidades a cero.
Pulsa «Jugar» y golpea la bola. Después, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
public class Golf : MonoBehaviour
{
public int strokes = 0;
[SerializeField] private Transform pointer;
[SerializeField] private float aimSpeed = 90f;
[SerializeField] private float chargeRate = 4f;
[SerializeField] private float maxPower = 6f;
[SerializeField] private float stopSpeed = 0.3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
// apunta con las flechas, carga con Space, dispara al soltarla y detente cuando la bola vaya despacio
}
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