🤖

【Roblox開発】IntValuesの代わりにAttributesを利用してみる

2024/08/09に公開

はじめに

今回はAttributesを利用してオブジェクトに値を保存する方法を共有します。

公式Reference

https://create.roblox.com/docs/reference/engine/classes/Instance#GetAttribute

実装

Attributeを設定する

Partを配置する。

string型のAttributeを設定する

指定のオブジェクトを選択し属性のタブまで行きプラスをクリックし名前とAttributeに入れられるデータの型を指定します。

できたAttributeの中にデータを書き込む

number型のAttributeを設定する

number型のAttributeを指定する。

数字を書き込む

コード

Attributeから値を読み取る

print("FirstPart Attribute : "..firstPart:GetAttribute("First"))

Attributeに値を設定する

firstPart:SetAttribute("First", "Next Test")

Attributeの値変更イベントを読み取る

firstPart:GetAttributeChangedSignal("First"):Connect(function()
	print("FirstPart Attribute Changed : "..firstPart:GetAttribute("First"))
end)

全体コード

local firstPart = workspace.FirstPart
local secondPart = workspace.SecondPart

firstPart:GetAttributeChangedSignal("First"):Connect(function()
	print("FirstPart Attribute Changed : "..firstPart:GetAttribute("First"))
end)

secondPart:GetAttributeChangedSignal("Second"):Connect(function()
	print("SecondPart Attribute Changed : "..secondPart:GetAttribute("Second"))
end)

print("FirstPart Attribute : "..firstPart:GetAttribute("First"))

task.wait(2.0)

firstPart:SetAttribute("First", "Next Test")

task.wait(2.0)

print("SecondPart Attribute : "..secondPart:GetAttribute("Second"))

task.wait(2.0)

secondPart:SetAttribute("Second", 1000)

実行

https://youtu.be/gy-5zua8vM8

参考リンク集

https://devforum.roblox.com/t/attributes-vs-values/2613261

Landelテックブログ

Discussion