Menu
CoddyTech

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.

challenge icon

Desafío

Difícil

Escribe la bola de golf: apunta, carga y golpea.

  1. Gira aim con el eje Horizontal sin procesar a aimSpeed; coloca pointer en transform.position + Quaternion.Euler(0f, aim, 0f) * Vector3.forward.
  2. En reposo (velocidad inferior a stopSpeed), mantener pulsada la barra espaciadora carga power a razón de chargeRate hasta maxPower; al soltarla, la impulsa en la dirección apuntada (Impulse), restablece power y registra "Stroke " + strokes.
  3. 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

Practica por tu cuenta: Playground de Unity