Kondisi pada Unity 3d

Kursus Hari1 Materi3

Terdapat dua perintah kondisi pada C#, yaitu if dan switch. If lebih sering digunakan. 

Operator relasi pada C#

Operator Description Example
== Sama dengan pass == "password"
!= Tidak sama dengan status != "aktif"
> Lebih besar dari umur > 30
>= Lebih besar atau sama dengan umur >= 30
< Kurang dari total < 20
<= Kurang atau sama dengan total <= 30
is Uji tipe data oNilai is Double

Operator logika pada C#

Operator Description Example
&& Kondisi AND IsValid && Authorized
|| Kondisi OR pembelian < 100 || pembelian >= 500
! NOT !angka
Sifat operator logika
a b && ||
True True True True
True False False True
False True False True
False False False False
Operator && akan menghasilkan true jika kedua kondisi bernilai benar. Jika salah satu atau kedua kondisi bernilai salah, operator && akan bernilai salah. Operator || akan menghasilkan true jika salah satu atau kedua sisi bernilai benar. Akan bernilai salah apabila kedua kondisi bernilai salah.

Terdapat beberapa cara untuk menggunakan kondisi if else. Salah satunya adalah if else satu baris yang telah ditunjukkan pada bagian tipe data. Secara umum, struktur if else adalah sebagai berikut:










if (kondisi1) {
  //Perintah ketika kondisi 1 terpenuhi
} else if (kondisi2) {
  //Perintah ketika kondisi 2 terpenuhi
} else if (kondisi3) {
  //Perintah ketika kondisi 3 terpenuhi
} else {
  //Ketika semua kondisi lain tak terpenuhi, lakukan ini
}
Kondisi-kondisi di atas adalah variabel atau pernyataan boolean. Dan blok else if dan else bersifat opsional.

switch (variabelUji) {
  case [literal 1]:
    //Blok kode 1
    break;
  case [literal 2]:
    //Blok kode 2
    break;
  case [literal 3]:
    //Blok kode 3
    break;
  default:
    //Jika yang lain tidak terpenuhi
    break;
}

contoh:
       string strInput="3";
    int arah;
    bool berupaAngka = Int32.TryParse(strInput, out arah);
    if (!berupaAngka) {
      Debug.Log("Input tidak benar");
    } else {
      switch (arah) {
        case 1: Debug.Log("Tampak sebuah danau"); break;
        case 2: Debug.Log("Tampak sebuah hutan"); break;
        case 3: Debug.Log("Tampak sebuah padang rumput"); break;
        case 4: Debug.Log("Tampak sebuah gurun"); break;
        default: Debug.Log("Arah tidak benar"); break;
      }
    }

Praktek:
pada gameObject yang sudah ada masukkan kode c# dengan nama Looper.cs sbb:

using UnityEngine; 
using System.Collections; 
public class Looper : MonoBehaviour { 
 int number1, number2, number3, number4, number5, countdown; 
     // Use this for initialization 
     void Start () { 
        number1 = 0; 
        number2 = 0; 
        number3 = 0; 
        number4 = 0; 
        number5 = 0; 
        countdown = 3; 
        InvokeRepeating("CountDown",1,1); 
    } 
// Update is called once per frame 
void Update () { 
         if (countdown == 0){ 
                 number1++; 
            } 
    } 
void FixedUpdate () { 
         if (countdown == 0){ 
                 number2++; 
            } 
    } 
void CountDown(){ 
         countdown--; 
         if (countdown == 0){ 
                 InvokeRepeating("Looping1",1,1);  //call fungsi Looping1 start
setelah 1, timer 1s
                 InvokeRepeating("Looping2",5,0.5f);
//call fungsi Looping2 start setelah 5, timer 0.5s 
                 Invoke("NoLooping",10); 
//call fungsi NoLooping start setelah mencapai angka 10
                  CancelInvoke("CountDown"); 
            } 
    } 
      void Looping1(){ 
           number3++; 
      } 
  void Looping2(){ 
           number4++; 
      } 
  void NoLooping(){ 
           number5++; 
      } 

  void OnGUI(){ 
           GUILayout.BeginArea(new Rect(10,10,400,200)); 
           if (countdown == 0){ 
                 GUILayout.Label("Update Increment: "+number1.ToString()); 
                 GUILayout.Label("FixedUpdate Increment: "+number2.ToString()); 
                 GUILayout.Label("Start At: 1 Sec (Interval 1): "+number3.ToString()); 
                 GUILayout.Label("Start At: 5 Sec (Interval 0.5): "+number4.ToString()); 
                 GUILayout.Label("Start At: 10 Sec (No Looping): "+number5.ToString()); 
                    } else { 
                         GUILayout.Label("Count Down: "+countdown.ToString()); 
                    } 
                    GUILayout.EndArea(); 
               } 
      } 


Hasilnya sbb:




 NB:
InvokeRepeating("Looping1",1,1); 
memanggil fungsi Looping1 yang dimulai sejak detik 1 diulangi terus dengan timer 1s
 

InvokeRepeating("Looping2",5,0.5f); 
fungsi Looping2 yang dimulai sejak detik 5 diulangi terus dengan timer 0.5s 
Invoke("NoLooping",10);  //call fungsi NoLooping start setelah mencapai angka 10
memanggil fungsi NoLooping yang dimulai sejak detik ke 10 dan tidak usah diulangi

CancelInvoke("CountDown"); 
mematikan fungsi InvokeRepeating ("CountDown") agar berhenti bekerja

update() command:
semua perintah akan diulangi setiap frame sesuai dengan frame rate tergantung obejk yang diload spesifikasi pc dll

FixedUpdate() command
semua perintah akan diulangi setiap frame dengan interval yang akan diusahakan tetap.......



Selamat Mencoba

Reff:
https://icodeformoney.com/tuts/Operator-aritmatika-pada-CSharp

Kondisi pada Unity 3d Kondisi pada Unity 3d Reviewed by ADIARRAY on 19.12 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.