🐡
【Roblox】FusionでUIやPartを生成してみる Fusion編 #6
はじめに
今回はFusionのNewInstanceモジュールを使ってみたので共有します。
Fusionの導入方法
Fusion記事まとめ
公式Reference
実装
UI要素生成
local Fusion = require(ReplicatedStorage.Fusion)
local Value = Fusion.Value
local New = Fusion.New
local player = Players.LocalPlayer
local gui = player:WaitForChild("PlayerGui"):WaitForChild("MainGui")
local isFrameVisible = Value(true)
local ui = New "Frame" {
Name = "MainFrame",
Parent = gui,
Size = UDim2.new(1, 0, 1, 0),
Position = UDim2.new(0.5,0,0.5,0),
AnchorPoint = Vector2.new(0.5,0.5),
Visible = isFrameVisible
}
local message = Value("Hello there!")
local text = New "TextLabel" {
Name = "Greeting",
Parent = ui,
Size = UDim2.new(0.5, 0, 0.5, 0),
Position = UDim2.new(0.5,0,0.5,0),
AnchorPoint = Vector2.new(0.5,0.5),
TextScaled = true,
Text = message
}
task.wait(1.0)
message:set("Hello!")
task.wait(1.0)
isFrameVisible:set(false)
最初にNew
と"指定のUIオブジェクト名"
を宣言して作る感じですね。中括弧内にプロパティの宣言をする感じですね。プロパティ宣言の際に自動補完が効かないので打ち間違いが多発しそうなのが怖いところですね。
Hydration
モジュールも似たような書き方をします。
ちなみに
Partの生成方法
local instance = New "Part" {
Parent = workspace,
Color = Color3.new(1, 0, 0),
Position = player.Character:FindFirstChild("Humanoid").RootPart.Position
}
実行
まとめ
これまでFusionについて6個ほど記事を出しました。Fusionの基本的な使い方はとりあえずこれくらいだと思います。
Discussion