iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
Modern Web

Rive 的一些進階主題系列 第 4

[Day 04] Data Binding - 程式碼 demo

  • 分享至 

  • xImage
  •  

昨天介紹了 Data Binding 的基本概念,今天直接看程式碼,示範怎麼把玩家姓名與分數傳進 Rive,以及資料改變時怎麼更新畫面。

以下使用 High-level API,假設 r 已設定 autoBind: true,View Model 也已建立並綁定 playerName(string)與 score(number)。初始化的程式放在 onLoad 裡執行。

取得欄位並設定資料

先透過 r.viewModelInstance 取得自動綁定的 Instance,再依照型別與 key 拿到欄位:

const vmi = r.viewModelInstance;
const playerName = vmi.string("playerName");
const score = vmi.number("score");

這裡拿到的是欄位物件,接著透過 .value 填入實際資料:

playerName.value = "小明";
score.value = 100;

這樣就把姓名設定為「小明」、分數設定為 100。設計師在 Editor 綁定好的文字,會跟著這些資料更新。官方 API 說明

資料改變時怎麼更新?

之後收到新的玩家資料,只要修改同一個欄位的 .value

// 沿用前面取得的欄位,在收到新分數時更新
score.value = 110;

重點就是最後這一行。欄位取得後可以持續使用,不需要每次更新資料都重新建立 Instance 或重新綁定。這裡只是把分數從 100 改成 110,綁定的文字會在 runtime 下一次更新時反映結果。更新時機說明

語法就這樣而已。串接時先跟設計師約定好 key、型別與用途,前端就能依照這份約定填入資料。明天再整理取得 View Model、建立 Instance 與手動綁定的基本 API。


上一篇
[Day 03] Data Binding - 簡介
下一篇
[Day 05] Data Binding - 基本 API
系列文
Rive 的一些進階主題6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言