Menu
CoddyTech

Bilangan Float dan Mathf

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 16 dari 85.

Kamu sudah menemukan f dalam Desimal Membutuhkan f: C# membaca 0.5 sebagai double, sedangkan Unity menghitung dengan float. Hal yang sama terjadi pada operasi matematika. System.Math bekerja dengan double, jadi float s = Math.Sin(x); gagal dengan CS0266: Cannot implicitly convert type 'double' to 'float'.

Unity memiliki versi float untuknya, yaitu Mathf: Mathf.Sin, Mathf.Abs, Mathf.Sqrt, Mathf.PI. Pelampung yang bergerak naik turun ini mengalami kedua error tersebut dan berhasil di-compile setelahnya:

// sebelumnya: float y = 1 + Math.Sin(Time.time * 2) * 0.5;
float y = 1 + Mathf.Sin(Time.time * 2) * 0.5f;
transform.position = new Vector3(0, y, 0);

Bilangan bulat seperti 1 dan 2 tidak memerlukan akhiran: int berubah menjadi float tanpa kehilangan nilai.

challenge icon

Tantangan

Mudah

Buat skrip hati berhasil dikompilasi agar berdenyut lagi.

  1. Pada baris size, ubah Math.Abs dan Math.Sin menjadi Mathf.Abs dan Mathf.Sin.
  2. Ubah 0.5 menjadi 0.5f, dan pertahankan sisa rumusnya.

Tekan tombol “Main”: hati membesar dari 1 hingga 1.5 lalu kembali, sekitar sekali per detik. Lalu tekan tombol “Periksa”.

Coba sendiri

using System;
using UnityEngine;

public class Pulse : MonoBehaviour
{
    void Update()
    {
        float size = 1 + Math.Abs(Math.Sin(Time.time * 3)) * 0.5;
        transform.localScale = new Vector3(size, size, size);
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity