Kondisi pada Unity 3d
Kursus Hari1 Materi3
Terdapat dua perintah kondisi pada C#, yaitu if dan switch. If lebih sering digunakan.
Sifat operator logika
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.
Kondisi-kondisi di atas adalah variabel atau pernyataan boolean. Dan blok else if dan else bersifat opsional.
contoh:
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();
}
}
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
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 |
a | b | && | || |
---|---|---|---|
True | True | True | True |
True | False | False | True |
False | True | False | True |
False | False | False | False |
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 } |
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
Reviewed by ADIARRAY
on
19.12
Rating:
Tidak ada komentar: