Menu
CoddyTech

Berputar Setiap Detik

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 4 dari 67.

transform.Rotate(x, y, z) memutar GameObject sebanyak jumlah derajat tersebut pada setiap sumbunya. Jika dipanggil di Update(), objek berputar sedikit pada setiap frame, sehingga terus berputar.

Namun, berapa banyak frame dalam satu detik? Di komputer cepat mungkin 120, sedangkan di ponsel mungkin 30. transform.Rotate(0, 0, 5) biasa akan membuat objek berputar empat kali lebih cepat di komputer yang lebih cepat. Solusi Unity adalah Time.deltaTime: jumlah detik yang berlalu sejak frame terakhir. Kalikan kecepatan dengan nilai ini, maka kecepatan tersebut berarti per detik di setiap perangkat.

Di sini, roda berputar pada sumbu z-nya, 45 derajat setiap detik:

public float speed = 45f;

void Update()
{
    transform.Rotate(0, 0, speed * Time.deltaTime);
}

Pada 60 frame per detik, Time.deltaTime bernilai sekitar 0.0167, sehingga setiap frame memutar roda sebesar 45 * 0.0167, sekitar 0.75 derajat, dan 60 putaran kecil itu menghasilkan 45 derajat. Pada 30 frame per detik, setiap frame memutar roda dua kali lebih jauh, dan hasilnya tetap 45 derajat dalam satu detik.

challenge icon

Tantangan

Mudah

Kubus memiliki skrip Spinner dengan speed sebesar 90. Di Update(), buat kubus berputar pada sumbu y, sebanyak speed derajat setiap detik, di perangkat apa pun.

Tekan Play untuk melihatnya, lalu Periksa.

Coba sendiri

using UnityEngine;

public class Spinner : MonoBehaviour
{
    public float speed = 90f;

    void Update()
    {
        // Putar kubus pada sumbu y-nya di sini
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Scripting Unity