我正在尝试制作一个随机选择方向和行走距离的漫游脚本,我正在使用tweenservice使其看起来很流畅。出于某种原因,脚本所在的所有部分都会一直飞回0,0,0。这是我的剧本:
while true do
wait(math.random(1,10))
--turn
local tweenService = game:GetService("TweenService")
local part = script.Parent
local tweeningInformation = TweenInfo.new(
1.5,
Enum.EasingStyle.Linear,
Enum.EasingDirection.Out,
0,
false,
0
)
local partProperties = {
Orientation = script.Parent.Orientation + Vector3.new(0,math.random(1,180),0)
}
local Tween = tweenService:Create(part,tweeningInformation,partProperties)
Tween:Play()
wait(1.5)
--move
local tweeningInformation2 = TweenInfo.new(
1.5,
Enum.EasingStyle.Linear,
Enum.EasingDirection.Out,
0,
false,
0
)
local partProperties2 = {
Position = script.Parent.CFrame.lookVector * math.random(5,50)
}
local Tween = tweenService:Create(part,tweeningInformation2,partProperties2)
Tween:Play()
wait(1.5)
端
答案 0 :(得分:0)
作为新位置,您使用的是作为单位矢量的lookVector,您应该使用零件的实际位置。
Position = script.Parent.Position + (script.Parent.CFrame.lookVector * math.random(5,50))