Почему мои двери ведут себя неожиданно в ROBLOX Studio с использованием TweenService ()? - PullRequest
0 голосов
/ 17 апреля 2019

Итак, я создаю игру Maze Runner для ROBLOX, и я начал писать сценарии для дверей, поэтому я использовал встроенную в ROBLOX функцию TweenService () для этого.Теоретически, двери должны скользить в стены, как в лабиринте.Но это продолжается, и я не знаю почему!Они вращаются в щели, а не скользят.Я бы показал изображение, но я не могу.|= стены V = двери.Что должно произойти |> <|что случилось | ^^ | </p>

Мой код:

        TweenService = game:GetService("TweenService")
    Door = script.Parent.Door2
    Door1 = Door:WaitForChild("Door1")
    Door2 = Door:WaitForChild("Door2")
    local TweenInformationIn = TweenInfo.new(

        6,
        Enum.EasingStyle.Sine,
        Enum.EasingDirection.In,
        0,
        false,
        0
    )

    local Door1Close = {CFrame = CFrame.new(1226.993, 131.187, -769.185)}
    local Door2Close = {CFrame = CFrame.new(1226.993, 131.187, -814.271)}
    local Door1Open = {CFrame = CFrame.new(1226.993, 131.187, -749.831)}
    local Door2Open = {CFrame = CFrame.new(1226.993, 131.187, -834.331)}
    local Tween1Open = TweenService:Create(Door1, TweenInformationIn, Door1Open)
    local Tween2Open =  TweenService:Create(Door2, TweenInformationIn,Door2Open)
    local TweenClose =  TweenService:Create(Door1, TweenInformationIn, Door1Close)
    local Tween2Close =  TweenService:Create(Door2,TweenInformationIn,Door2Close)

    Tween1Open:Play()
    Tween2Open:Play()

1 Ответ

0 голосов
/ 18 апреля 2019

Ваш код анимации выглядит нормально.

Возможно, что в определенных вами фреймах отсутствует информация о вращении. В вашем примере сделанные вами подростки пытаются переместить дверь 1 в Position (1226.993, 131.187, -769.185) и Orientation (0, 0, 0).

Вам необходимо проверить свойство Ориентация ваших дверей и убедиться, что Ориентация сохраняется в ваших окончательных кадрах. Вы можете применить это вращение к позиции, умножив ее на другой CFrame.

Два быстрых примера этого:

-- create a door that swings close
local Door1OpenPos  = CFrame.new(0, 5, 10) * CFrame.fromEulerAnglesXYZ(0, 90, 0)
local Door1ClosePos = CFrame.new(0, 5, 15) * CFrame.fromEulerAnglesXYZ(0,  0, 0)

-- create a door that slides close
local Door2OpenPos  = CFrame.new(20, 5, 0) * CFrame.fromEulerAnglesXYZ(0, 90, 0)
local Door2ClosePos = CFrame.new(30, 5, 0) * CFrame.fromEulerAnglesXYZ(0, 90, 0)

Ваши раздвижные двери должны убедиться в том, что ориентация одинакова в начале и в конце вашей анимации.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...