使用 TweenInfo 时显示“TweenInfo.new 第一个参数需要一个时间数字”的错误消息
Posted
技术标签:
【中文标题】使用 TweenInfo 时显示“TweenInfo.new 第一个参数需要一个时间数字”的错误消息【英文标题】:Error Message Saying "TweenInfo.new first argument expects a number for time," when using TweenInfo 【发布时间】:2021-01-28 09:09:39 【问题描述】:我正在制作补间,我收到一条错误消息,提示“TweenInfo.new 第一个参数需要一个数字作为时间的数字”,这是怎么回事?
local tweenInfo = TweenInfo.new
0.75,
Enum.EasingStyle.Sine,
Enum.EasingDirection.Out,
0,
false,
0
-- later on when I call it
tweenService:Create(v, tweenInfo, Vector3.new(X,Y,Z)) -- v is an Instance of a Part
请帮帮我!
【问题讨论】:
【参考方案1】:您遇到了 lua 语言的一个有趣的怪癖。事实证明,parentheses are optional in function calls 当只提供一个参数时。
所以你的代码中实际发生的事情是这样的......
local tweenInfo = TweenInfo.new(
table of arguments , -- time
nil, -- easing style
nil, -- easing direction
nil, -- repeat count
nil, -- reverses
nil -- delay
)
TweenInfo 构造函数需要一个数字作为第一个参数,而是获取一个值表。
所以要解决这个问题,只需用括号替换大括号:
local tweenInfo = TweenInfo.new(
0.75,
Enum.EasingStyle.Sine,
Enum.EasingDirection.Out,
0,
false,
0
)
--编辑:根据 cmets,TweenService:Create()
中也存在语法错误。如果其他人也需要它,我已经在此处发布了修复程序。
tweenService:Create(v, tweenInfo,
Position = Vector3.new(X,Y,Z),
)
【讨论】:
我试过了,它说它无法设置为字典。 找出问题所在,我没有想要在字典中更改的零件信息,然后当我这样做时,没有 position = Vector3.new,所以它是为此对我大喊大叫,谢谢您的反馈。以上是关于使用 TweenInfo 时显示“TweenInfo.new 第一个参数需要一个时间数字”的错误消息的主要内容,如果未能解决你的问题,请参考以下文章