不确定如何使用 vector3

Not sure how to use vector3

我试图让一个物品每 60 秒在两个位置之一生成,但是当我尝试使用 vector3 时,它没有在“spawnplace1”或“spawnplace2”的位置生成,但它生成了在被复制的roka上面并没有移动。我也不认为我可以持有复制的 roka 的。这是代码!

local roka = workspace["Rokakaka Fruit"]
local itemspawns = workspace.ItemSpawnLocals
local itemspawn1 = itemspawns["Item Spawn 1"]
local itemspawn2 = itemspawns["Item Spawn 2"]

local place1 = itemspawn1.Position
local place2 = itemspawn2.Position

wait(60)
local spawnplace1 = math.random(1,2)
local spawnplace2 = math.random(1,2)

if spawnplace1 == 1 then
    roka2 = roka:Clone()
    roka2.Parent = workspace
    
    local roka2handle = roka2.Handle
    
    roka2handle.Position = Vector3.new(itemspawn1)

elseif spawnplace1 == 2 then
    roka2 = roka:Clone()
    roka2.Parent = workspace

    local roka2handle = roka2.Handle

    roka2handle.Position = Vector3.new(itemspawn2)
end

print(spawnplace1)
print(spawnplace2)

Vector3 保存 3D 中点的坐标 space。您在构造函数中仅提供了 3 条信息中的 1 条。要构建 Vector3,还需要提供 Y 轴和 Z 轴,如下所示:

roka2handle.Position = Vector3.new(1, 2, 3)

但您无需显式创建 Vector3 即可使您的代码正常运行。您可以将生成位置的位置分配给新创建的水果,这样就可以了。这样,您可以添加更多生成位置,并且无需每次都更新脚本。

-- grab some things from the workspace
local roka = workspace["Rokakaka Fruit"]
local itemSpawns = workspace.ItemSpawnLocals

-- choose a random spawn location
local spawnLocations = itemSpawns:GetChildren()
local spawnNumber = math.random(1, #spawnLocations)
local spawnPosition = spawnLocations[spawnNumber].Position

-- spawn and move a new fruit to one of the spawn locations
roka2 = roka:Clone()
roka2.Parent = workspace
local roka2handle = roka2.Handle
roka2handle.Position = spawnPosition

-- debug
print("spawning fruit at : ", spawnPosition)

附带说明一下,如果 roka2 是模型,您可能需要考虑使用 roka2:SetPrimaryPartCFrame( CFrame.new(spawnPosition)) 来移动它。