Roblox Studio: вращающаяся петля вместо двери

#lua #roblox

#lua #roblox

Вопрос:

Я пытаюсь сделать анимированную открывающуюся / закрывающуюся дверь в Roblox Studio. Сценарий работает, но он вращает шарнир вместо двери. Пожалуйста, скажите мне, что я сделал не так, как мне это исправить?

 local tween = game:GetService("TweenService")

local Center = script.Parent.Center
local Door = "Closed"

local CF = Instance.new("CFrameValue")
CF.Value = Center.CFrame
CF.Changed:Connect(function()
    Center.CFrame = CF.Value
end)

script.Parent.Door.ClickDetector.MouseClick:Connect(function()
    if Door == "closed" then
        tween:Create(CF, TweenInfo.new(1), {Value = Center .CFrame * CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))}):play()
        Door = "open"
    else
    tween:Create(CF, TweenInfo.new(1), {Value = Center .CFrame * CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))}):play()
        Door = "closed"
    end
end)
  

Комментарии:

1. Официальные форумы разработчиков Roblox могут помочь вам с ответом, однако иногда для получения одобрения требуется много чтения.

2. Есть несколько ошибок, которые могут способствовать, например, создание значения CFrameValue и родительское отношение к вашим деталям. Во-первых, все детали уже имеют значение CFrame, поэтому много строк не требуется. Кроме того, компилятор может не интерпретировать пробелы, но Center .CFrame это плохое форматирование. Выделение цели и TweenInfo в отдельные переменные поможет нам лучше ее прочитать, а вам упростить отладку.