一个 NumberValue 是一个用于存储单个 Luau 数字 的对象,定义为 双精度浮点数字 或更常见地称为 双倍 。这里存储了一个数字,使用 IEEE 754 表示(1 个符号位、11 个指数位和 52 个分数位),使用 64 位(8 字节)存储。最大可存储的数值为 2^53,或 9,007,199,254,740,992,最小值为 -9,007,199,254,740,992。它可以存储高达 15 位精度。
像所有 "-Value" 对象一样,这个单值被存储在价值属性中。为此更改的事件(以及其他类似的对象)将使用新值在对象中存储,而不是使用代表被更改的属性的字符串发射。
代码示例
这个示例展示了普通对象和 "-Value" 对象上更改事件的微妙。
更改了事件
-- 通过创建零件来显示更改的事件
local part = Instance.new("Part")
part.Changed:Connect(print)
-- 这发射了更改为“透明”
part.Transparency = 0.5
-- 类似地,这发射了更改为“数字”
part.Name = "SomePart"
-- 因为更改砖色也会更改其他
-- 同时属性,这行发射更改
-- 使用“BrickColor”、“Color3”和“Color3uint16”。
part.BrickColor = BrickColor.Red()
-- 一个 NumberValue 持有双精度浮动小数号
local vNumber = Instance.new("NumberValue")
vNumber.Changed:Connect(print)
-- 这会触发与 123.456 变更(不是“值”)
vNumber.Value = 123.456
-- 这不会触发更改了
vNumber.Name = "SomeNumber"
-- 一个 StringValue 存储一条字符串
local vString = Instance.new("StringValue")
vString.Changed:Connect(print)
-- 这会触发使用“您好”更改(而不是“值”)
vString.Value = "Hello"
概要
活动
每当 NumberValue.Value 被更改时发射。
属性
方法
活动
Changed
这个事件会在 NumberValue.Value 属性发生改变时触发。
这个事件,像其他更改的事件一样,可以用来跟踪当 NumberValue 发生变更时以及可能更改的不同值。
例实例,这甚至可能在依赖 NumberValues 来跟踪游戏状态和值的游戏中有用,例如物品 ID。
相同类型的更改事件存在于类似对象,例如 ObjectValue 和 StringValue,根据需求选择最适合的对象类型。
参数
更改后的值。
代码示例
This example prints the NumberValue's new value each time it changes. Here it prints 20.
NumberValue Changed
local numberValue = script.Parent.NumberValue
local function printValue(value)
print(value)
end
numberValue.Changed:Connect(printValue)
numberValue.Value = 20