如何在 Roblox 中从一端调整圆柱体的大小并将其向后移动

问题描述 投票:0回答:1

我正在 Roblox 中制作香烟,我希望它能够正常工作

它使 cig 调整到前面。

您可以在这里自己获取: https://filetransfer.io/data-package/qKBHvHxS#link

对于想要代码的人来说,您真正需要看到的是:

for i = bit.Size.X, 0, -0.1 do
    local tweenInfo = TweenInfo.new(0.1)
    local goal = {}
    goal.Size = Vector3.new(i, bit.Size.Y, bit.Size.Z)
    local tween = TweenService:Create(bit, tweenInfo, goal)
    tween:Play()
    wait(0.1)
    bit.CFrame = bit.CFrame + bit.CFrame.LookVector * -0.1
end

但说真的,我确实建议下载 RBXM 文件并实际测试它。

它也是一个工具,所以这说明了旋转。

lua 3d physics roblox tween
1个回答
0
投票

如果您要使用 Tween,请勿将其放入 for 循环中。当两个补间尝试操纵相同的属性时,它们开始相互抵消。

因此,只需将所有调整大小逻辑放入一个补间中,并使其占用完整的时间:

local BURN_RATE = 0.1 -- studs/tick
local cigLength = bit.Size.X
local tweenInfo = TweenInfo.new(cigLength * BURN_RATE) -- take more time based on how long the cig is

local goal = {
    Size = Vector3.new(0, bit.Size.Y, bit.Size.Z),
    Position = (bit.Position - Vector3.new(cigLength / 2, 0, 0)),
}
local tween = TweenService:Create(bit, tweenInfo, goal)
tween:Play()

-- TODO : if the tool is put away, simply cancel the tween
© www.soinside.com 2019 - 2024. All rights reserved.