Roblox, Xbox ve PlayStation denetleyicileri gibi oyun kumandalarından giriş alır. Oyun kumandaları da dahil olmak üzere çoklu platform girişlerini basitleştirmek için, Roblox, bu eylemleri yönlendirmek için "zıplama", "koşma" veya "ateş etme" gibi eylemler tanımlamak ve birden fazla donanım girişi için bağlantılar ayarlamak amacıyla Giriş Eylem Sistemi sağlar.
Oyun kumandası girişlerini bağlarken, oyuncular için tutarlı bir oyun kumandası deneyimi oluşturmak üzere yaygın kontrol şemaları bölümüne bakın. Girişler ayarlandıktan sonra, desteklenen denetleyicilerde titreşim geri bildirimi ekleyerek oyuncunun deneyimini geliştirebilirsiniz.
Oyun kumandası desteğini geliştirirken, bağlı bir oyun kumandası veya Stüdyo'daki Denetleyici Emülatörü kullanarak sık sık test etmeyi unutmayın.
Giriş türü tespiti
Çoklu platform geliştirmede, bir oyuncunun kullandığı PreferredInput türünü belirlemek ve buna yanıt vermek önemlidir; bu genellikle Kullanıcı Arayüzü öğeleri gibi ekran üzerindeki düğmelerin ve menülerin düzgün çalışmasını sağlamak ve cihazlar arasında etkileşimi desteklemek içindir.
Örneğin, bir konsol, oyun kumandalarının varsayılan giriş olduğunu varsayar, ancak bir PC veya dizüstü bilgisayardaki bir oyuncu da bir bluetooth oyun kumandası bağlamayı seçebilir. Bu durumda, fare/klavye o oyuncu için geçerli bir giriş olmaya devam eder, ancak bağlı oyun kumandasını birincil giriş türü olarak kullanmak isteyeceklerini varsayabilirsiniz.
Daha fazla bilgi için giriş türü tespiti bölümüne bakın.
Yaygın kontrol şemaları
Giriş Eylem Sistemi 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 ateş etme gibi birincil eylemler için kullanılır. |
| ButtonL1, ButtonR1, ButtonX, ButtonY | Yeniden yükleme, hedefleme 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 dahili motorlara sahiptir. Sarsıntılar ve titreşimler eklemek, bir oyuncunun deneyimini büyük ölçüde geliştirebilir ve görseller veya seslerin ötesinde ince geri bildirim sağlayabilir.
Roblox, PlayStation oyun kumandaları, Xbox oyun kumandaları ve Quest Touch denetleyicisi için titreşim geri bildirimini destekler. Titreşim geri bildirimi, belirli bir Type olarak ayarlanabilen HapticEffect örnekleri aracılığıyla yönetilir; örneğin GameplayCollision veya UIClick.
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.GameplayExplosion
effect.Parent = Workspace
-- Titreşim etkisini oynat
effect:Play()Denetleyici emülasyonu
Fiziksel bir denetleyici bağlı olmadan doğrudan Stüdyo'da oyun kumandası girişini test etmek için Denetleyici Emülatörü kullanın. Emüle edilen cihazın bir resmini gösterir ve giriş geldiğinde kontrollerini aydınlatır; bu, UserInputService işleyicilerinizin ve Giriş Eylem Sistemi bağlantılarınızın beklediğiniz gibi tepki verdiğini doğrulamaya yardımcı olur.