如何在 Roblox 中移动已创建的对象

我正在 Roblox Studio 中制作一个游戏,我需要让我手动创建的对象向玩家移动。以下是代码:

    local pl = game.Players.LocalPlayer
    local Money = script.Parent.Parent.Money
    Money.MoveTo(Vector3.new(player.Homeloc.Value))
    wait(5)

请帮帮我。

点赞
用户2858170
用户2858170

仅仅在网上搜索“Roblox移动物体”就会出现https://developer.roblox.com/en-us/articles/positioning-objects,所以如果你想知道如何在Roblox中移动物体,这可能是个不错的起点。

以下是用 markdown 格式编写的示例:

-- 定义两个位置
local startPosition = Vector3.new(-20, 10, 0)
local endPosition = Vector3.new(0, 10, 0)

-- 在startPosition创建一个简单的模型
local model = Instance.new("Model", game.Workspace)

local part1 = Instance.new("Part")
part1.Size = Vector3.new(4, 4, 4)
part1.Position = startPosition
part1.Anchored = true
part1.BrickColor = BrickColor.new("Bright yellow")
part1.Parent = model

local part2 = Instance.new("Part")
part2.Size = Vector3.new(2, 2, 2)
part2.Position = startPosition + Vector3.new(0, 3, 0)
part2.Anchored = true
part2.BrickColor = BrickColor.new("Bright blue")
part2.Parent = model

-- 设置主要部分
model.PrimaryPart = part1
model.Parent = game.Workspace

-- 在endPosition创建一个阻碍物
local obstruction = Instance.new("Part")
obstruction.Name = "Obstruction"
obstruction.Size = Vector3.new(10, 10, 10)
obstruction.Position = Vector3.new(0, 10, 0)
obstruction.Anchored = true
obstruction.BrickColor = BrickColor.new("Bright green")
obstruction.Parent = game.Workspace

wait(3)
-- 尝试将模型移动到被阻碍的endPosition
model:MoveTo(endPosition)
2021-06-10 08:02:42
用户16014788
用户16014788

你在 Money.MoveTo(Vector3.new(player.Homeloc.Value)) 中加了一个点号,但 MoveTo 是模型的函数,所以应该改成 Money:MoveTo(Vector3.new(..))

2021-06-11 16:54:44
用户15250066
用户15250066

如果您想要平稳地进行动画移动,只需在零件内放置一个BodyPosition,并在脚本中将Position设置为玩家的位置:

Money.BodyPosition.Position = pl.Character.HumanoidRootPart.Position
2021-06-12 17:25:23
用户16303956
用户16303956

我建议将物品和玩家作为目标进行补间动画

补间动画可能如下所示:

local TweenService = game:GetService("TweenService")
local part = script.Parent

local Info = TweenInfo.new(
    5,           --完成循环所需的秒数
    Enum.EasingStyle.Linear,     --缓动样式(运动方式)
    Enum.EasingDirection.InOut,    --缓动方向(运动方向)
    -1,                    --重复次数(-1 = 无限)
    true,                 --翻转
    0                      --延迟时间
)


local Goals ={ --这些是补间动画的目标
Position = game.Workspace.Baseplate.Position
}



local tween = TweenService:Create(part,Info,Goals)
tween:Play()
2021-06-26 03:29:00