Listeners
Listeners memungkinkan Anda menambahkan perilaku interaktif — klik, hover, drag — langsung di dalam Rive, tanpa menulis kode. Sebuah Listener memantau aksi pengguna dan merespons dengan mengubah properti View Model (wadah yang menyimpan data aplikasi Anda — didefinisikan di halaman Data Binding), menembakkan event, atau memindahkan objek.
Listeners berada di dalam sebuah State Machine (bayangkan state machine seperti diagram alur yang menentukan animasi mana yang diputar). Buka state machine untuk menambahkan dan mengelolanya.
Struktur Sebuah Listener
Setiap Listener memiliki tiga bagian:
- Target — Shape atau group yang berfungsi sebagai area hit. Interaksi pointer apa pun pada objek ini akan memicu Listener.
- Condition — Jenis event yang perlu didengarkan.
- Action — Apa yang terjadi ketika kondisi terpenuhi.
Menambahkan Listener
Klik tombol + di bawah State Machine Graph dan pilih Listener. Konfigurasikan Target, Condition, dan Action-nya di Inspector.
Kondisi Listener
Event Pointer
| Kondisi | Dipicu saat |
|---|---|
| Pointer Down | Pointer ditekan di dalam target |
| Pointer Up | Pointer dilepas di dalam target |
| Pointer Enter | Pointer memasuki area target |
| Pointer Exit | Pointer meninggalkan area target |
| Pointer Move | Pointer bergerak di dalam area target |
| Click | Urutan lengkap tekan-lalu-lepas di dalam target |
Kondisi Berbasis Data
| Kondisi | Dipicu saat |
|---|---|
| Listen for Event | Sebuah event bernama terpicu pada target Component |
| View Model Property Change | Properti View Model yang dipilih berubah nilainya |
Aksi Listener
| Aksi | Yang dilakukan |
|---|---|
| View Model Change | Mengatur properti View Model ke nilai tertentu, atau menyalin nilai dari properti lain. Dapat menggunakan converter (aturan yang mengubah nilai sebelum digunakan — misalnya, mengonversi angka menjadi nilai benar/salah) untuk mengubah nilainya. |
| Report Event | Menembakkan event bernama ketika kondisi terpicu. |
| Align Target | Memindahkan objek agar mengikuti posisi X/Y pointer — berguna untuk interaksi drag atau cursor follower. |
Contoh: Hover pada Tombol
Sebuah tombol umum memiliki tiga state (Idle, Hovered, Clicked) dan dua listener:
- Pointer Enter → Idle mengatur
isHovered = true, mendorong transisi ke state Hovered. - Pointer Exit mengatur
isHovered = false, kembali ke Idle.
Referensi lengkap untuk kondisi, aksi, dan pola interaksi kompleks pada Listener.
Listeners bekerja di dalam State Machines — pelajari model state machine secara menyeluruh.