Roblox Studio脚本中的C型框架滑动门

时间:2015-09-25 04:34:03

标签: lua roblox

由于目前脚本编写的复杂性以及我的能力,我已经找到了如何在热门MMO“Roblox”中创建滑动门的方法。 我已自动分析脚本,并手动分析,但未发现任何错误。 它在下面:

local Part = workspace.Part
local newPos = Part.Position + Vector3.new(-61.866, 8.551, -97.181)
local Time = 5
local Increment = 0.5 
local Debounce = false

local Diff = newPos - Part.Position
local Mag = Diff.magnitude
local Direction = CFrame.new(Part.Position, newPos).lookVector

function MovePart()
if Debounce then return end
    Debounce = true
    for n = 0, Mag, Increment do
        Part.CFrame = Part.CFrame + (Direction * Increment)
        wait( (Time/Mag) * Increment )
    end
    Debounce = false
end

workspace.Button.ClickDetector.MouseClick:connect(MovePart)

当我插入一个内有Clickdetector的按钮,并试图点击按钮时,没有显示任何结果 - 甚至没有错误!我被困住了,需要帮助。非常感谢。

2 个答案:

答案 0 :(得分:1)

嗯,对我有用。
它已经在(-61.866,8.551,-97.181)了吗? 还有另一个“部分”或“按钮”吗? 这不是锚定的东西吗?

替代解决方案:
将按钮,部分和以下脚本放在一个模型中。

local Part = script.Parent.Part
local Button = script.Parent.Button
Part.Anchored = true
local Direction = Part.CFrame.lookVector
local Mag = Part.Size.Z

local Time = 5
local Increment = 0.5 -- Smaller will make smoother 'movement'
local Debounce = false

function MovePart()
if Debounce then return end
    Debounce = true
    for n = 0, Mag, Increment do
        Part.CFrame = Part.CFrame + (Direction * Increment)
        wait(Time/(Mag * Increment))
    end
    for n = 0, Mag, Increment do
        Part.CFrame = Part.CFrame + (Direction * -Increment) -- so that it moves back
        wait(Time/(Mag * Increment))
    end
    Debounce = false
end

clickD = Button.ClickDetector or Instance.new("ClickDetector",Button)
clickD.MouseClick:connect(MovePart)

希望有所帮助。

答案 1 :(得分:0)

您所要做的就是在工作区中放置一个部件,将其重命名为" Button"并将clickDetector插入到零件中。