«Функция Create не является членом «UnionOperation» при попытке использовать TweenService ()

#lua #roblox

#lua #roblox

Вопрос:

Я пытаюсь создать игру «Бегущий в лабиринте». При открытии и закрытии дверей я написал сценарий, используя встроенную службу анимации ROBLOX. Я запускаю и получаю «Функция Create не является членом «UnionOperation»» Я никогда не слышал об этой ошибке и не мог найти решение. Я пытаюсь сделать это в части объединения. Я понятия не имею, что делать. Мне нужно, чтобы анимация работала должным образом (между частями несколько пробелов).

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

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

local Door1Open = {CFrame = CFrame.new(1226.993, 131.187, -769.185)}
local Door2Open = {CFrame = CFrame.new(1226.993, 131.187, -814.271)}
local Door1Close = {CFrame = CFrame.new(1226.993, 131.187, -749.831)}
local Door2Close = {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:

Заменить TweenService.Create на TweenService:Create

 TweenService:Create(Door1, TweenInformationIn, Door1Open)
 

эквивалентно

 TweenService.Create(TweenService, Door1, TweenInformationIn, Door1Open)
 

в то время как вы вызывали

 TweenService.Create(Door1, TweenInformationIn, Door1Open)
 

Итак, внутри TweenService.Create все пошло наперекосяк, потому Door1 что было там, где TweenService должно было быть.

На самом деле в руководстве Robolox есть пример кода, который показывает, как использовать TweenService.

https://developer.roblox.com/api-reference/function/TweenService/Create

 local TweenService = game:GetService("TweenService")

local part = Instance.new("Part")
part.Position = Vector3.new(0, 10, 0)
part.Anchored = true
part.Parent = game.Workspace

local tweenInfo = TweenInfo.new(
    2, -- Time
    Enum.EasingStyle.Linear, -- EasingStyle
    Enum.EasingDirection.Out, -- EasingDirection
    -1, -- RepeatCount (when less than zero the tween will loop indefinitely)
    true, -- Reverses (tween will reverse once reaching it's goal)
    0 -- DelayTime
)

local tween = TweenService:Create(part, tweenInfo, {Position = Vector3.new(0, 30, 0)})

tween:Play()
wait(10)
tween:Cancel() -- cancel the animation after 10 seconds