Lewati ke konten utama

Data Binding

Data Binding menghubungkan nilai yang tersimpan di View Models (wadah yang menyimpan data aplikasi Anda) ke properti dalam scene Rive. Bayangkan seperti rumus di spreadsheet — ubah nilai sumbernya, dan setiap sel yang mereferensikannya akan langsung ikut berubah. Ketika data berubah, hierarki scene (struktur lapisan bertingkat dari objek-objek dalam desain Anda) diperbarui secara otomatis. Ketika properti berubah di scene, data pun bisa ikut berubah.

Apa Saja yang Bisa Diikat?

  • Posisi X/Y musuh, dikontrol dari kode runtime (kode yang menjalankan aplikasi Anda, ditulis oleh developer)
  • Satu properti warna yang digunakan bersama di banyak ikon
  • Nilai health yang menggerakkan health bar sekaligus tampilan karakter
  • Gambar, artboard, atau komponen yang diganti berdasarkan status aplikasi

Mengapa Menggunakan Data Binding?

Data Binding memisahkan data Anda dari desain Anda. Bayangkan seperti rumus di spreadsheet: rumusnya (data Anda) berada di satu tempat, dan beberapa sel (elemen scene) diperbarui secara otomatis saat nilainya berubah — tidak peduli seberapa dalam letaknya di dalam desain.

Setelah diikat, Anda bisa memindahkan, mengganti nama, atau menyusun ulang elemen dalam hierarki tanpa mengubah kode runtime. Binding-lah yang mengurus koneksinya.

Konsep Inti

  1. View Models — Mendefinisikan struktur model data Anda (struktur nilai yang digunakan aplikasi Anda — seperti daftar properti beserta tipenya).
  2. Instans View Model — Menyimpan nilai aktual untuk properti-properti tersebut.

Bayangkan View Model sebagai template formulir kosong, dan Instans View Model sebagai salinan formulir yang sudah diisi. Satu template, banyak instans — masing-masing dengan nilainya sendiri.

  1. Binding — Menghubungkan properti View Model ke properti scene (posisi, warna, teks, dll.).
  2. Memperbarui Data — Data dapat diubah dari editor, kode runtime, state machine, atau scripting.
  3. Pembaruan Otomatis — Ketika data berubah, semua elemen yang terikat langsung diperbarui.

Pelajari Lebih Lanjut