Бег на компьютере и телефоне
Кнопка бега для телефона и клавиша Shift для компьютера.
При удержании Shift или экранной кнопки персонаж бежит быстрее.
1. Подготовьте объект
Где разместить: Создайте объекты точно по схеме в инструкции.
В StarterPlayer → StarterPlayerScripts создайте LocalScript и вставьте код. Запустите Play: на ПК удерживайте Shift, а на телефоне нажимайте экранную кнопку «Бег».
При отпускании кнопки прежняя скорость восстанавливается, только если её не успела изменить другая механика. Не устанавливайте этот скрипт вместе с другим контроллером бега на Shift: выберите один.
Для соревновательной игры управление скоростью должно проверяться сервером.
2. Вставьте код
-- LocalScript в StarterPlayerScripts: Shift + кнопка на телефоне
local Players = game:GetService("Players")
local ContextActionService = game:GetService("ContextActionService")
local player = Players.LocalPlayer
local RUN_SPEED = 28
local humanoid, sprint, originalSpeed = nil, false, nil
local function stopSprint()
if not sprint then return end
sprint = false
if humanoid and humanoid.Parent and originalSpeed and math.abs(humanoid.WalkSpeed - RUN_SPEED) < 0.01 then
humanoid.WalkSpeed = originalSpeed
end
originalSpeed = nil
end
local function setup(character)
stopSprint()
humanoid = character:WaitForChild("Humanoid")
end
player.CharacterAdded:Connect(setup)
if player.Character then setup(player.Character) end
local function onAction(_, state)
if state == Enum.UserInputState.Begin then
if humanoid and humanoid.Health > 0 and not sprint then
originalSpeed = humanoid.WalkSpeed
humanoid.WalkSpeed = RUN_SPEED
sprint = true
end
elseif state == Enum.UserInputState.End or state == Enum.UserInputState.Cancel then
stopSprint()
end
return Enum.ContextActionResult.Sink
end
ContextActionService:BindAction("IgroSprint", onAction, true, Enum.KeyCode.LeftShift)
ContextActionService:SetTitle("IgroSprint", "Бег")
ContextActionService:SetPosition("IgroSprint", UDim2.new(0.8, 0, 0.6, 0))3. Проверьте в игре
Нажмите Play в Roblox Studio и проверьте действие механики. Если механика не работает, откройте окно Output и проверьте тип скрипта, его расположение и названия объектов.
Когда проверите механику в Roblox Studio, отметьте практику как выполненную. Отметка хранится только в этом браузере, не в личном кабинете.
Добавляйте механики по одной и проверяйте окно Output. Не создавайте несколько одинаковых систем монет или интерфейсов; скрипты, меняющие WalkSpeed, прыжок или освещение, могут влиять друг на друга.
Измените FAST_SPEED на 36.
Добавьте трассу с длинными прямыми и поворотами.
Сделайте игру «Быстрый курьер».
4. Проверьте себя
Какой сервис создаёт кнопку для мобильного управления?
Если кнопка не видна, проверьте, что используется LocalScript и тестируется мобильный ввод. Если скорость не возвращается после отпускания, другой скрипт мог её изменить; данный код не отменяет чужие эффекты.