我的 roblox studio 中的物体没有生成到指定区域

我有一个名为"round"的物体应该生成在火炮上(或者至少要掉下来,因为我已经关闭了碰撞)。

每次我尝试运行脚本的时候,"round"都不会生成在指定的区域,而是什么也不会发生。我该如何修复这个问题?

这是脚本的代码:

local artilerry = script.Parent
local gun = artilerry.Gun
local round = game.ServerStorage.Round

local roundclone = round:Clone()
roundclone.Parent = game.Workspace

roundclone.Position = gun.Position

我创建了一些局部变量,然后从一个预先存在的对象中克隆了一个名为"roundclone"的对象。这应该始终生成在火炮的枪上,但是它没有。原始的"round"位于ServerStorage中。

提前致谢。

点赞
用户13065801
用户13065801

如果 round 是一个模型,确保它有一个有效的 PrimaryPart 并且使用

Model:SetPrimaryPartCFrame(CFrame.new(gun.Position))

如果你的模型/部件具有 CanCollide false,则确保 Anchored 设置为 true,否则模型/部件将会落空并被虚空摧毁。


如果您有任何问题,请随时问。如果这解决了您的问题,请确保将此标记为答案,以便其他人受益。

2021-04-08 18:59:14
用户14835350
用户14835350

非常抱歉我花了好长时间才回复你,但其实 2-3 个月前我就找到了一个简单的解决方案。

我只需要访问火炮位置,就可以创建一个新的 round 实例。

local artillery = game.Workspace.Artillery
local gun = artillery.Gun

-- 解决方案
function CreateRound()
    local round = Instance.new("Part", workspace)
    round.Shape = "Ball"
    round.Position = gun.Position
    round.Name = "Round"

    local function CloneRound()
        while true do
            wait(1)
            CreateRound()
        end
    end

    CloneRound()
end

CreateRound()

我把 artilerry 改成了 artillery,因为显然我拼写不正确。

2021-10-14 12:01:27