Input seluler

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Sebagian besar sesi Roblox dimainkan di perangkat seluler, jadi penting untuk mempertimbangkan orientasi perangkat seluler dan faktor lintas platform lainnya saat merancang game untuk audiens yang luas.

Untuk menyederhanakan input lintas platform, termasuk interaksi pemain dengan tombol virtual, Roblox menyediakan Sistem Aksi Input untuk mendefinisikan aksi seperti "melompat," "berlari," atau "menembak" dan mengatur binding untuk beberapa input perangkat keras untuk menjalankan aksi tersebut.

Roblox juga mendukung fitur seluler asli seperti umpan balik haptic, gerakan sentuh seperti TouchSwipe dan TouchPinch, atau fungsionalitas akselerometer dan giroskop pada perangkat AccelerometerEnabled dan GyroscopeEnabled.

Deteksi tipe input

Dalam pengembangan lintas platform, penting untuk menentukan dan merespons tipe PreferredInput yang digunakan pemain, biasanya untuk memastikan bahwa elemen UI seperti tombol dan menu di layar berfungsi dengan baik dan mendukung interaksi di berbagai perangkat.

Sebagai contoh, perangkat yang mendukung sentuhan mengasumsikan sentuhan sebagai input default dan bahwa tombol sentuh mungkin muncul untuk aksi, tetapi seorang pemain mungkin memilih untuk menghubungkan gamepad bluetooth. Dalam kasus ini, sentuhan tetap menjadi input yang valid, tetapi Anda dapat mengasumsikan pemain ingin beralih ke gamepad yang terhubung sebagai tipe input utama dan mungkin menggunakan sentuhan sebagai input cadangan untuk UI di layar.

Lihat deteksi tipe input untuk informasi lebih lanjut.

Orientasi perangkat

Secara default, game Roblox berjalan dalam mode landscape, memungkinkan game untuk beralih antara landscape "kiri" dan landscape "kanan" saat perangkat pemain berputar. Namun, game dapat dikunci pada orientasi tertentu jika diinginkan.

Ada lima mode orientasi yang berbeda, termasuk dua mode berbasis sensor dan tiga mode terkunci.¹ Masing-masing dari ini dapat diatur sebagai orientasi default melalui StarterGui.ScreenOrientation, yang dapat diakses melalui jendela Properties Studio.

Mode Sensor
LandscapeSensorPengaturan default Roblox di mana game selalu muncul dalam mode landscape (tidak ada mode portrait) dan perangkat mendeteksi orientasi fisiknya untuk memastikan tampilan game selalu menghadap ke atas.
SensorPerangkat mendeteksi orientasi fisiknya untuk memastikan tampilan game selalu menghadap ke atas, beralih antara mode landscape dan portrait sesuai kebutuhan.
Mode Terkunci
LandscapeLeftPada perangkat dengan tombol home/navbar virtual, area sentuhnya berada di bagian bawah layar. Pada perangkat dengan tombol home fisik, tombol home berada di sebelah kiri layar.
LandscapeRightPada perangkat dengan tombol home/navbar virtual, area sentuhnya berada di bagian bawah layar. Pada perangkat dengan tombol home fisik, tombol home berada di sebelah kanan layar.
PortraitPada perangkat dengan tombol home/navbar virtual, area sentuhnya berada di bagian bawah layar. Pada perangkat dengan tombol home fisik, tombol home berada di bawah layar.
¹ Roblox tidak menyertakan mode "portrait terbalik" karena banyak perangkat tidak mendukung orientasi itu secara native


Selain properti default StarterGui.ScreenOrientation, Anda dapat mengubah orientasi selama gameplay melalui PlayerGui.ScreenOrientation. Ini dapat berguna ketika game perlu memaksakan orientasi, seperti mengunci tampilan ke Portrait untuk minigame.

Kode berikut dalam LocalScript menetapkan orientasi layar ke portrait setelah penundaan singkat:

LocalScript - Ubah Orientasi Layar menjadi Portrait

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
task.wait(5)
playerGui.ScreenOrientation = Enum.ScreenOrientation.Portrait

Akhirnya, Anda dapat mendeteksi perubahan orientasi layar selama gameplay dengan mendengarkan perubahan nilai pada properti PlayerGui.CurrentScreenOrientation.

LocalScript - Deteksi Perubahan Orientasi Layar

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local function onOrientationChange()
print("Orientasi berubah menjadi", playerGui.ScreenOrientation)
end
playerGui:GetPropertyChangedSignal("ScreenOrientation"):Connect(onOrientationChange)

Umpan balik haptic

Sebagian besar perangkat seluler memiliki motor yang dibangun untuk memberikan umpan balik haptic. Menambahkan getaran dan guncangan dapat sangat meningkatkan pengalaman pemain dan memberikan umpan balik halus di luar visual atau audio.

Roblox mendukung haptic untuk perangkat yang mampu haptic termasuk sebagian besar perangkat iPhone, Pixel, dan Samsung Galaxy. Umpan balik haptic dikelola melalui instance HapticEffect yang dapat diatur ke Type tertentu seperti GameplayCollision atau UIClick.

Setelah HapticEffect ditempatkan, Anda dapat memulainya melalui metode Play(), misalnya:


local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Putar efek haptic
effect:Play()
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.