Wejście mobilne

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Większość sesji Roblox jest rozgrywana na urządzeniach mobilnych, dlatego ważne jest, aby wziąć pod uwagę mobilną orientację urządzenia oraz inne czynniki wielo-platformowe podczas projektowania gry dla szerokiej publiczności.

Aby uprościć wejścia wielo-platformowe, w tym interakcję gracza z wirtualnymi przyciskami, Roblox udostępnia System Akcji Wejściowych do definiowania akcji takich jak "skok", "bieg" czy "strzał" oraz skonfigurowania powiązań dla wielu wejść sprzętowych, aby aktywować te akcje.

Roblox obsługuje również native'owe funkcje mobilne, takie jak sprzężenie zwrotne haptyczne, gesty dotykowe takie jak TouchSwipe i TouchPinch, czy funkcjonalność akcelerometru i żyroskopu na urządzeniach AccelerometerEnabled oraz GyroscopeEnabled.

Wykrywanie typu wejścia

W wielo-platformowym rozwoju ważne jest, aby określić i reagować na typ PreferredInput, z którego korzysta gracz, zazwyczaj w celu zapewnienia, że elementy UI takie jak przyciski na ekranie i menu działają elegancko i wspierają interakcję na różnych urządzeniach.

Na przykład, urządzenie obsługujące dotyk zakłada, że dotyk jest domyślnym wejściem i że mogą pojawić się przyciski dotykowe dla akcji, ale gracz może zdecydować się na podłączenie kontrolera Bluetooth. W takim przypadku dotyk pozostaje ważnym wejściem, ale można założyć, że gracz chce przełączyć się na podłączony kontroler jako podstawowy typ wejścia i ewentualnie użyć dotyku jako wejścia zapasowego dla UI na ekranie.

Zobacz wykrywanie typu wejścia po więcej informacji.

Orientacja urządzenia

Domyślnie gry Roblox działają w trybie poziomym, umożliwiając grze przełączanie się między "lewo" a "prawo" w poziomie, gdy urządzenie gracza się obraca. Jednak gry mogą być zablokowane w określonej orientacji, jeśli jest to pożądane.

Istnieje pięć różnych trybów orientacji, w tym dwa oparte na sensorach i trzy zablokowane tryby.¹ Każdy z nich można ustawić jako domyślną orientację przez StarterGui.ScreenOrientation, dostępną w oknie Właściwości Studia.

Tryby sensorów
LandscapeSensorDomyślne ustawienie Roblox, w którym gra zawsze pojawia się w trybie poziomym (brak trybu pionowego), a urządzenie wykrywa swoją fizyczną orientację, aby zapewnić, że widok gry jest zawsze skierowany w górę.
SensorUrządzenie wykrywa swoją fizyczną orientację, aby zapewnić, że widok gry jest zawsze skierowany w górę, przełączając się między trybem poziomym i pionowym w razie potrzeby.
Zablokowane tryby
LandscapeLeftNa urządzeniach z wirtualnym paskiem głównym/nawigacyjnym, jego obszar dotykowy znajduje się na dole wyświetlacza. Na urządzeniach z fizycznym przyciskiem głównym, przycisk główny znajduje się po lewej stronie wyświetlacza.
LandscapeRightNa urządzeniach z wirtualnym paskiem głównym/nawigacyjnym, jego obszar dotykowy znajduje się na dole wyświetlacza. Na urządzeniach z fizycznym przyciskiem głównym, przycisk główny znajduje się po prawej stronie wyświetlacza.
PortraitNa urządzeniach z wirtualnym paskiem głównym/nawigacyjnym, jego obszar dotykowy znajduje się na dole wyświetlacza. Na urządzeniach z fizycznym przyciskiem głównym, przycisk główny znajduje się pod wyświetlaczem.
¹ Roblox nie zawiera trybu "portret odwrócony", ponieważ wiele urządzeń nie obsługuje natywnie tej orientacji


Poza domyślną właściwością StarterGui.ScreenOrientation, można zmienić orientację podczas rozgrywki za pomocą PlayerGui.ScreenOrientation. Może to być przydatne, gdy gra wymaga wymuszenia orientacji, na przykład blokując widok na Portrait dla mini-gry.

Poniższy kod w LocalScript ustawia orientację ekranu na pionową po krótkim opóźnieniu:

LocalScript - Zmień orientację ekranu na pionową
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
task.wait(5)
playerGui.ScreenOrientation = Enum.ScreenOrientation.Portrait

Na koniec można wykryć zmiany w orientacji ekranu podczas rozgrywki, słuchając zmian wartości właściwości PlayerGui.CurrentScreenOrientation.

LocalScript - Wykryj zmiany orientacji ekranu
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local function onOrientationChange()
print("Orientacja zmieniona na", playerGui.ScreenOrientation)
end
playerGui:GetPropertyChangedSignal("ScreenOrientation"):Connect(onOrientationChange)

Sprzężenie zwrotne haptyczne

Większość urządzeń mobilnych ma wbudowane silniki, aby zapewnić sprzężenie zwrotne haptyczne. Dodanie wibracji może znacznie poprawić doświadczenia gracza i dostarczyć subtelne sprzężenie zwrotne poza wizualizacją czy dźwiękiem.

Roblox obsługuje haptykę dla urządzeń zdolnych do obsługi haptyki, w tym większości urządzeń iPhone, Pixel i Samsung Galaxy. Sprzężenie zwrotne haptyczne jest zarządzane przez instancje HapticEffect, które można ustawić na konkretny Type, taki jak GameplayCollision lub UIClick.

Gdy HapticEffect jest już ustawione, można go zainicjować za pomocą metody Play(), na przykład:

local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Odtwórz efekt haptyczny
effect:Play()
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.