<Metode acara jQuery Show Table of Contents
Table of Contents
ContohKetika <p> elemen di dalam <div> elemen diklik, mengubah warna latar belakang dari semua <p> elemen: $("div").delegate("p", "click", function(){ Cobalah sendiri " Definisi dan PenggunaanThe delegate() metode menempel satu atau lebih event handler untuk elemen tertentu yang adalah anak-anak dari elemen yang dipilih, dan menentukan fungsi untuk menjalankan ketika peristiwa terjadi. Event handler terpasang menggunakan delegate() metode akan bekerja untuk kedua elemen saat ini dan FUTURE (seperti elemen baru yang diciptakan oleh script). Pada jQuery versi 1.7, yang on() metode adalah metode yang disukai untuk melampirkan event handler untuk elemen yang dipilih. Sintaksis$(selector).delegate(childSelector,event,data,function)
Coba Sendiri - Contoh Tambahkan event handler untuk elemen masa depan Menyampaikan data ke fungsi <Metode acara jQuery Gunakan delegate kecuali jika Anda tidak dapat menggunakan delegate.Delegasi acara adalah teknik yang digunakan untuk meningkatkan kinerja aplikasi. Ini secara drastis mengurangi jumlah langganan acara dengan memanfaatkan karakteristik "menggelegak" dari sebagian besar acara DOM. Dengan delegasi acara, penangan tidak terikat pada elemen individu. Sebagai gantinya, pengendali peristiwa tunggal dilampirkan ke simpul tingkat atas seperti elemen tubuh. Ketika sebuah peristiwa muncul hingga ke handler level atas yang dibagikan ini, logika delegasi acara memanggil handler yang sesuai berdasarkan target acara . Untuk mengetahui apakah delegasi acara dapat digunakan dengan acara tertentu, google Inilah halaman MDN untuk blur . Ini memiliki info lebih lanjut tentang teknik delegasi acara untuk acara blur dan fokus. Pengecualian untuk panduan umum di atas:Gunakan |
//Declare Delegate publicdelegate voidButtonClick(); |
Event
Event merupakan tipe spesial dari delegates yang dapat digunakan untuk menotifikasi kelas lainnya ketika sesuatu terjadi. Contohnya ketika button shoot dipencet, event akan memberikan notifikasi kepada kelas peluru dan kelas jumlah peluru untuk melakukan aksinya masing-masing. Event bisa di deklarasi menggunakan delegates. Ini adalah contoh sintaksnya.
//Declare Delegate publicdelegate voidButtonClick(); //Declare Event publicstaticevent ButtonClick Click; |
Contoh Penggunaannya
Pertama kita akan memberikan deklarasi delegate dan event pada kelas yang memproses tombol shoot yang diklik, kita beri nama kelas ButtonShoot.cs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | publicclassButtonShoot:MonoBehaviour { //delegate() publicdelegate voidButtonClick(); //event publicstaticevent ButtonClick Click; publicvoidUpdate() { if(Input.GetKeyDown(KeyCode.A)) { OnButtonShootClick(); } } //method yang mentrigger untuk event Click dipanggil publicvoidOnButtonShootClick() { //panggil eventnya Click(); } } |
Selanjutnya kita akan membuat kode dari kelas yang subscribe tersebut sehingga ketika terjadi perubahaan, method pada kelas ini akan dijalankan. Kita akan membuat dua kelas yang subscribe terhadap event Click yakni kelas Pistol.cs dan kelas TextPeluru.cs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | using System.Collections; using System.Collections.Generic; using UnityEngine; publicclassPistol:MonoBehaviour { public GameObject peluru; publicTransform moncongPistol; //melakukan subscribsi method ke event voidOnEnable() { ButtonShoot.Click +=BulletShoot; } voidBulletShoot() { //diisi kode untuk menembakan peluru Rigidbody rig= Instantiate(peluru,moncongPistol.position,Quaternion.identity).GetComponent<Rigidbody>(); rig.velocity =moncongPistol.TransformDirection(Vector3.forward*400); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; publicclassTextPeluru :MonoBehaviour { //variabel untuk menyimpan jumlah peluru intbullet; publicText textBullet; publicvoid Start() { bullet=100; } publicvoidUpdate() { textBullet.text =bullet.ToString(); } //melakukan subscribsi method ke event voidOnEnable() { ButtonShoot.Click +=ReduceBullet; } voidReduceBullet() { //diisi kode untuk menembakan peluru bullet--; } } |
Dengan memasang kode di atas, maka ketika tombol button shoot ditekan, secara otomatis kelas Pistol.cs akan menjalankan method BulletShoot() dan kelas Peluru.cs akan menjalankan method ReduceBullet().
Semoga tutorial ini bisa membantu teman-teman untuk membuat kode program yang lebih clean dan efektif. Untuk mengunduh contoh programnya, silakan klik link berikut.
Masih banyak pembahasan menarik di Dicoding Academy Belajar Membangun Game 2D dan 3D dengan Unity yang belum kita bahas di sini, untuk pembahasan lebih jauh silakan kunjungi Academy Belajar Membangun Game 2D dan 3D dengan Unity (https://www.dicoding.com/academies/39). Jika ada pertanyaan, saran atau masukan jangan sungkan untuk menuliskannya di kolom komentar.
Selamat belajar, semoga bermanfaat, dan nantikan tutorial pembuatan game menggunakan Unity selanjutnya.
Apa itu Event di JS?
Pada Javascript: Event adalah kejadian yang terjadi di halaman web. Kejadian yang dimaksud di sini seperti aktivitas yang dikerjakan pada halaman web.
Apa maksud dari event delegation?
Sedangkan pengertian event delegation mendelegasian penanganan event suatu element kepada event lainnya. Di sini kita akan mendelegasikan penanganan event dari suatu element kepada parentnya.
Apa itu Delegate di C#?
Delegate pada C# digunakan untuk memperlakukan sebuah method seperti sebuah objek. Langsung saja pakai contoh ya: Pertama, deklarasi dulu delegate-nya: public delegate void PrintDelegate(string text);