😽

【Roblox】Fusionと呼ばれるライブラリを導入してみる Fusion編 #1

2024/08/23に公開

はじめに

今回はFusionと呼ばれるライブラリを導入する方法を共有します。

https://github.com/dphfox/Fusion?tab=readme-ov-file

Fusionとは

Fusionは、Roblox向けのUI、状態管理、アニメーションライブラリです。Fusionを使うと、コンピュータがどのようにしてそこにたどり着くかという手順ではなく、何を表示したいのかを宣言的に定義することができます。

ざっくりとReactみたいな書き方がLuaで書けるようになる感じです。APIにもuseEffectやuseStateみたいなものがあります。

宣言的プログラミングについて

https://zenn.dev/chillnn_tech/articles/declarative-programming-to-the-backend

https://zenn.dev/mizchi/articles/oop-think-modern

メリット

  • 学習しやすい
  • コードが読みやすい

できること

  • UIの作成
  • 状態の管理
  • UIアニメーション(TweenServiceのFusion版が備わってる)

導入する方法

以下のリンクからFusion v0.2のAssetsにあるFusion.rbxm をダウンロードする。
https://github.com/dphfox/Fusion/releases

ReplicatedStorageを右クリックしてファイルから挿入を押して先ほどダウンロードした物を選択

以下のようにFusionというモジュールファイルが追加されたら終了です!

Rojo/Wallyを導入している場合

wally.tomldependencies以下のように書き込みます。

[package]
name = "test/test"
version = "0.1.0"
registry = "https://github.com/UpliftGames/wally-index"
realm = "shared"

[dependencies]
Fusion = "elttob/fusion@0.2.0-beta"

いつも通りwally installを実行

    wally install

RobloxStudioを見るとReplicatedStorageにFusionが追加されてることが確認できると思います!

試しにコードを書てみる

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Fusion = require(ReplicatedStorage.Fusion)

local Value = Fusion.Value

local count = Value(100)

print(count:get())

実行結果

正しく出力されてますね

Landelテックブログ

Discussion