Fırlatma
Coddy'nin Unity Oyunu: Tuğla Kırma kursunda ders 2 / 19.
Top, oyuncu onu fırlatana kadar raketin üzerinde bekler. O zamana kadar Update() her karede topu raketin üzerine yerleştirir; böylece raket nereye giderse top da oraya gider ve bir bool, topun uçup uçmadığını hatırlar:
void Update()
{
if (launched) return;
transform.position = paddle.position + Vector3.up * 0.5f;
}Topun Rigidbody bileşeninde yer çekimi yoktur; bu yüzden bir kez ayarlanan hız, topun düz uçmasını sağlar. wasPressedThisFrame yalnızca bir tuşa basıldığı karede true olur; bu yüzden onu Update() içinde oku. Herhangi bir yönde tam bir hızla uçmasını sağlamak için yönü .normalized ile 1 birim uzunluğunda yap, ardından çarp: new Vector3(3f, 4f, 0f).normalized * 10f, saniyede 10 birim hızla uçar.
Görev
KolayTop, Boşluk tuşu topu fırlatana kadar raketin üzerinde durur.
Balliçinebool launched;vepublic void Launch(Vector3 direction)ekle:launched = true;verb.linearVelocity = direction.normalized * speed;Update()içinde, fırlatılmışsa geri dön; değilse topupaddle.position + Vector3.up * 0.5fkonumuna yerleştir.- Boşluk tuşu
wasPressedThisFrameolduğundaLaunch(new Vector3(0.3f, 1f, 0f))çağır.
“Oyna” düğmesine bas, raketi hareket ettir, ardından Boşluk tuşuna bas: top yukarı uçar ve ilk duvarda durur (sektirme bir sonraki adımda gelecek). Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
using UnityEngine.InputSystem;
public class Ball : MonoBehaviour
{
public Transform paddle;
public float speed = 9f;
Rigidbody rb;
void Awake()
{
rb = GetComponent<Rigidbody>();
}
// Sonraki adım: Space tuşuyla fırlatılana kadar top raketin üzerinde durur.
}
Unity Oyunu: Tuğla Kırma bölümündeki tüm dersler
Kendi başına pratik yap: Unity playground