Roblox Studio, как сделать так, чтобы, когда размер детали достигал номера specyifi c, он что-то делал - PullRequest
0 голосов
/ 27 апреля 2020
local code = game.Workspace.Script
local basep = game.Workspace.Baseplate
local sp = true


while sp == true do
    basep.Size = Vector3.new(basep.Size.X - 2,basep.Size.Y,basep.Size.Z - 2)
    wait(0.5)
    print(basep.Size)
end

if basep.Size == Vector3.new(10, 5, 10) then
    print("worked")
end

последняя часть не работает, я не знаю, как поставить, что, когда она достигает размера X-10 Y-5 Y-10, она останавливается (я положил print ("works") так Я вижу, работает ли он)

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

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

local TweenService = game:GetService("TweenService")

-- choose an Instance to change
local basep = game.Workspace.Baseplate

-- create a list of properties to change during the animation
local goal = {
    Size = Vector3.new(10, 5, 10)
}

-- configure how the animation will work
local timeToComplete = 5 --seconds
local timeToDelay = 0 -- seconds
local tweenInfo = TweenInfo.new(timeToComplete, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, timeToDelay)

-- create the animation and attach a listener for when the animation finishes
local tween = TweenService:Create(basep, tweenInfo, goal)
tween.Completed:Connect(function()
    print("worked")
end)
tween:Play()
0 голосов
/ 27 апреля 2020

вы бы поместили блок if внутри вашего бесконечного l oop, вот так:

while sp == true do
    basep.Size = Vector3.new(basep.Size.X - 2,basep.Size.Y,basep.Size.Z - 2)
    print(basep.Size)

    if basep.Size == Vector3.new(10, 5, 10) then
        print("worked")
        break --     <=== add this if you want to break out of the loop
    end

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