Roblox, Xbox ve PlayStation kumandaları gibi oyun kumandalarından giriş alır. Oyun kumandalarını da içeren çapraz platform girişlerini basitleştirmek için, Roblox atamalar (örneğin "zıplama", "koşma" veya "ateş etme") tanımlamak ve bu eylemleri gerçekleştirmek için birden fazla donanım girişi için bağlantılar ayarlamak üzere Giriş Eylem Sistemi sağlar.
Oyun kumandası girişlerini bağlarken, oyuncular için tutarlı bir oyun kumandası deneyimi oluşturmak adına yaygın kontrol şemalarına bakın. Girişler ayarlandıktan sonra, desteklenen kumandalarda titreşim geri bildirimi ekleyerek oyuncunun deneyimini zenginleştirebilirsiniz.
Oyun kumandaları desteğini geliştirirken, bağlı bir oyun kumandası veya Stüdyo'daki Kumanda Emülatörü kullanarak sık sık test etmeyi unutmayın.
Giriş türü tespiti
Çapraz platform geliştirmede, bir oyuncunun hangi PreferredInput türünü kullandığını belirlemek ve buna tepki vermek önemlidir; bu genellikle Kullanıcı Arayüzü (UI) öğeleri gibi ekran düğmeleri ve menülerin cihazlar arasında düzgün çalışmasını sağlamak içindir.
Örneğin, bir konsol oyun kumandalarının varsayılan girdi olduğunu varsayar, ancak bir PC veya dizüstü bilgisayarda bir oyuncu bir bluetooth oyun kumandası bağlamayı da tercih edebilir. Bu durumda, fare/klavye o oyuncu için geçerli bir giriş olmaya devam eder, ancak onun bağlı oyun kumandasını birincil girdi türü olarak seçmek istediğini varsayabilirsiniz.
Daha fazla bilgi için giriş türü tespiti kısmına bakın.
Yaygın kontrol şemaları
Input Action System için belirli kontrol bağlantılarını düşünürken, farklı oyunlar arasında tutarlılık sağlamak en iyisidir. Aşağıdaki giriş bağlantıları, oyuncuların oyun kumandası kontrolleriyle hemen tanıdık ve rahat hissetmelerine yardımcı olacaktır.
| Giriş | Yaygın kullanım durumları |
|---|---|
| ButtonA | Oyuncu istemlerini veya GUI seçimlerini kabul eder. Alternatif olarak zıplama gibi birincil eylemler için kullanılır. |
| ButtonB | Oyuncu istemlerini veya GUI seçimlerini iptal eder. Alternatif olarak bir kaçış, yuvarlanma veya koşma gibi ikincil eylemler için kullanılır. |
| Thumbstick1 | Genellikle karakter hareketi ile ilişkilidir. |
| Thumbstick2 | Genellikle kamera hareketi ile ilişkilidir. |
| ButtonL2, ButtonR2 | Genellikle atış gibi birincil eylemler için kullanılır. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Yeniden yükleme, nişan alma veya envantere veya mini haritaya erişim gibi ikincil eylemler. |

Titreşim geri bildirimi
Birçok oyun kumandası, titreşim geri bildirimi sağlamak için entegre motorlara sahiptir. Sarsıntılar ve titreşimler eklemek, bir oyuncunun deneyimini büyük ölçüde geliştirebilir ve görsel veya ses ötesinde ince geri bildirim sağlayabilir.
Roblox, PlayStation oyun kumandaları, Xbox oyun kumandaları ve Quest Touch kumandası için titreşim geri bildirimini destekler. Titreşim geri bildirimi HapticEffect örnekleri aracılığıyla yönetilir ve belirli bir Type ayarına (örneğin GameplayCollision veya UIClick) sahip olabilir.
Bir HapticEffect oluşturulduktan sonra, bunu Play() yöntemi aracılığıyla başlatabilirsiniz; örneğin:
local Workspace = game:GetService("Workspace")local effect = Instance.new("HapticEffect")effect.Type = Enum.HapticEffectType.GameplayExplosioneffect.Parent = Workspace-- Titreşim geri bildirimini oynateffect:Play()
Kumanda emülasyonu
Denetleyici Emülatörü, Stüdyo'nun Test menüsünden erişilebilir ve oyununuzu Stüdyo'da doğrudan oyun kumandası girişi simüle etmenizi sağlar. Varsayılan denetleyici genel bir oyun kumandasıdır, ancak sol üstteki menüden alternatifler seçebilirsiniz.

Oyun test ederken, sanal denetleyiciyi farenizle kullanarak oyunu kontrol edebilirsiniz.
Ayrıca sağ üst köşedeki Düzenleme eşleşmeleri seçeneğine tıklayarak sanal denetleyici için tuş eşleşmelerini görüntüleyip düzenleyebilirsiniz; örneğin, E tuşu için ButtonL2 veya 9 tuşu için ButtonA. Bu eşleşmeler diğer Stüdyo ayarları gibi kaydedilir (her denetleyici için, her kullanıcı için, her bilgisayar için) ve hem emülatör penceresinde hem de 3D görünüm alanında oyun kumandası olaylarına dönüştürülür.