Menu
CoddyTech

Bilye Golfü

Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 68 / 71.

Küçük bir yeşil alanda misketle golf oynayın. Misket vuruş noktasında başlar: ok tuşlarıyla nişan alın, güç toplamak için Boşluk tuşunu basılı tutun ve vurmak için tuşu bırakın. Misket yuvarlanır, kenarlıklara ve ortadaki bloğa çarparak seker ve yavaşlar; yeterince yavaşlayınca tamamen durur. Ancak bundan sonra yeniden vurabilirsiniz. Deliğe yavaşça yuvarlanan misket içeri düşer; çok hızlı gelen misket ise üzerinden geçip gider. Vuruş sayısı ne kadar azsa o kadar iyi.

İki betik yazın: misket için Golf ve delik için Hole.

challenge icon

Görev

Zor

Golf misketini yaz: nişan al, güç yükle, vur.

  1. aim değerini ham Yatay eksenini kullanarak aimSpeed hızında değiştir; pointer nesnesini transform.position + Quaternion.Euler(0f, aim, 0f) * Vector3.forward konumuna yerleştir.
  2. Dururken (hız stopSpeed değerinin altındayken) Space tuşunu basılı tutmak power değerini chargeRate ile maxPower değerine kadar artırır; tuşu bırakmak misketi nişan yönünde (Impulse) fırlatır, power değerini sıfırlar ve "Stroke " + strokes ifadesini günlüğe yazar.
  3. FixedUpdate() içinde, dururken her iki hızı da sıfırla.

“Oyna” düğmesine bas ve vuruş yap. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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>();
    }

    // ok tuşlarıyla nişan al, Space ile güç biriktir, bırakınca vur, yavaşlayınca dur
}

Fizik ve Oynanış bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground