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.
Görev
ZorGolf misketini yaz: nişan al, güç yükle, vur.
aimdeğerini ham Yatay eksenini kullanarakaimSpeedhızında değiştir;pointernesnesinitransform.position + Quaternion.Euler(0f, aim, 0f) * Vector3.forwardkonumuna yerleştir.- Dururken (hız
stopSpeeddeğerinin altındayken) Space tuşunu basılı tutmakpowerdeğerinichargeRateilemaxPowerdeğerine kadar artırır; tuşu bırakmak misketi nişan yönünde (Impulse) fırlatır,powerdeğerini sıfırlar ve"Stroke " + strokesifadesini günlüğe yazar. 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
1Rigidbody
Yerçekimi ve KütleAddForce ile İtmeDürtüyle ZıplamaFizik için FixedUpdateHızKinematik CisimlerTekrar: Fırlatma Rampası2Çarpışmalar
OnCollisionEnterNeye Çarptım?Çarpınca KırılYerde DurmakSekme ve SürtünmeCollider ŞekilleriTekrar: Kırılabilir DuvarKendi başına pratik yap: Unity playground