🦁
【Roblox】FusionのComputedsモジュールを触ってみる Fusion編 #4
はじめに
今回はComputedsモジュールを触ってみたので共有します。触った感想ですが結構使える場面が多そうな印象がありました!
Fusionの導入方法
公式Reference
Computedsモジュールでできること
Computed関数のコールバックに含まれるValueオブジェクトの変更を検知して処理を行いその結果が取得できる。
実装
値の合計を取得
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Fusion = require(ReplicatedStorage.Fusion)
local Value = Fusion.Value
local Computed = Fusion.Computed
local firstCount = Value(10)
local secondCount = Value(20)
local finalCount = Computed(function()
local nextCount = firstCount:get() + secondCount:get()
print(nextCount)
return nextCount
end)
task.wait(10)
firstCount:set(100)
実行結果
Computed実行時とValueオブジェクト変更時に呼ばれる感じですね。
ロブロックスオブジェクトの入れ替え
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Fusion = require(ReplicatedStorage.Fusion)
local Value = Fusion.Value
local Computed = Fusion.Computed
local className = Value("Frame")
local brick = Computed(function()
local instance = Instance.new(className:get())
instance.Parent = workspace
return instance
end, Fusion.cleanup)
task.wait(10)
className:set("Part")
※詳しくはこちら
実行結果
全部まとめ
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Fusion = require(ReplicatedStorage.Fusion)
local Value = Fusion.Value
local Computed = Fusion.Computed
local firstCount = Value(10)
local secondCount = Value(20)
local finalCount = Computed(function()
local nextCount = firstCount:get() + secondCount:get()
print("NextCount : ",nextCount)
return nextCount
end)
local className = Value("Frame")
local brick = Computed(function()
local instance = Instance.new(className:get())
instance.Parent = workspace
return instance
end, Fusion.cleanup)
task.wait(10)
className:set("Part")
firstCount:set(100)
print("finalCount : ",finalCount:get())
実行
Discussion