使用 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 第一个参数需要一个时间数字”的错误消息的主要内容,如果未能解决你的问题,请参考以下文章

使用 mkmap 加载地图时显示标题

使用 JS 在悬停时显示文本

使用 jQuery 在悬停时显示隐藏类

每次单击时显示不同的组件(使用挂钩)

Tailwind CSS:在图像悬停时显示文本

使用`reindex`时显示空行