← Все вопросы

Как двигать деталь в Roblox циклом — меняю Position, но она не движется?

Задан 31 месяц назад345 просмотров2 ответа
6

Хочу, чтобы платформа ездила туда-сюда. Поставил цикл, в нём меняю Position, но деталь либо стоит на месте, либо игра зависает. Что я делаю не так?

2 ответа

9
✓ Принятый ответ — помог автору

Две классические ошибки: либо деталь не Anchored (и падает), либо в цикле нет паузы.

Вот рабочий вариант — платформа едет вверх-вниз:

local platform = workspace.Platform
platform.Anchored = true

while true do
    platform.Position = platform.Position + Vector3.new(0, 0.2, 0)
    task.wait(0.05)   -- ОБЯЗАТЕЛЬНО пауза!
end

Главное — task.wait(0.05) внутри цикла. Без паузы while true do крутится миллионы раз в секунду, не давая игре нарисовать кадр — отсюда зависание. Пауза отдаёт управление обратно движку.

4

Чтобы платформа ездила туда-обратно, а не улетала в космос, добавь проверку границ:

local dir = 0.2
while true do
    local y = platform.Position.Y
    if y > 20 or y < 5 then dir = -dir end
    platform.Position = platform.Position + Vector3.new(0, dir, 0)
    task.wait(0.05)
end

Ваш ответ

Войдите, чтобы ответить на вопрос.