一个 IntValue 存储一个单个签名的 64 位整数。最高允许值为 2^63-1 或约 9.2 兆(9.2^18);尝试存储更大的数字会导致整数溢出 。允许的最低值为 -2^63 或约 -9.2 兆。然而,实际上,使用大于 2^53 (9.0^15) 的整数进行工作会导致精度丢失,因为 Luau 使用双精度浮点存储数字。
请注意,通过 属性窗口 可以将值存储在 2^53 和 2^63-1 之间,因为它使用字符串将数据传递给引擎,但通过 Luau 脚本操作大值会导致精度和四舍五入损失,如上所述。
使用 IntValue 的主要优势在于将价值回合到最接近的整数,中途案例回合到 0 以外。对于超出该范围的值,请使用 NumberValue 。像所有 ValueBase 对象一样,这个单值被存储在 Value 属性中。
对于这个 (和其他类似的对象),事件 Changed 将使用新值存储在对象中,而不是使用代表被更改属性的字符串。
概要
活动
每当 IntValue.Value 被更改时发生火灾
属性
方法
活动
Changed
这个事件会在 IntValue.Value 发生改变时触发。它将运行在新值被存储在参数对象中,而不是代表正在更改的属性的字符串。
相同的更改事件存在于类似于 NumberValue 和 StringValue 的对象上,根据需求选择最适合的对象类型。
参数
更改后的新值。
代码示例
The below example, assuming all referenced objects existed, would print the IntValue's new value each time it changed. In the example below it would print 20.
How to Use IntValue.Changed
local value = Instance.new("IntValue")
value.Parent = workspace
local function onValueChanged(newValue)
print(newValue)
end
value.Changed:Connect(onValueChanged)
value.Value = 20