Fare ve klavye girişi

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Roblox oturumlarının büyük bir kısmı fare ve klavye ile oynanan cihazlarda gerçekleştirilmektedir, bu nedenle geniş bir kitleye yönelik bir oyun tasarlarken bu girişleri desteklemek önemlidir.

Fare/klavye dahil olmak üzere çapraz platform girişleri basit hale getirmek için, Roblox "zıpla", "koş" veya "ateş et" gibi eylemler tanımlamak ve bu eylemleri yönlendirmek için birden fazla donanım girişi için bağlantılar ayarlamak üzere Girdi Eylem Sistemi sağlar.

Roblox ayrıca UserInputService olayları aracılığıyla genel fare/klavye girişlerini de destekler, örneğin InputBegan ve InputEnded gibi olaylar ve belirli bir tuşun klavyede basılı olup olmadığını kontrol etmek için IsKeyDown() gibi yöntemler.

Giriş türü tespiti

Çapraz platform geliştirmede, bir oyuncunun kullandığı PreferredInput türünü belirlemek ve yanıt vermek önemlidir; genellikle birçok cihazda etkileşimi desteklemek ve Kullanıcı Arayüzü öğeleri gibi ekran üzerindeki düğmelerin ve menülerin düzgün çalışmasını sağlamak içindir.

Örneğin, bir PC veya dizüstü bilgisayar fare/klavye'nin varsayılan giriş olduğunu varsayar, ancak bir oyuncu bir bluetooth oyun kontrol cihazı bağlamayı seçebilir. Bu durumda, fare/klavye geçerli bir giriş olmaya devam eder, ancak oyuncunun bağlı kontrol cihazını birincil giriş türü olarak seçmek istediğini varsayabilirsiniz.

Daha fazla bilgi için giriş türü tespiti bölümüne bakın.

Genel fare/tuş girişi

Girdi Eylem Sistemi dışında, fare ve klavye girişlerini UserInputService kullanarak yakalayabilirsiniz. Aşağıdaki LocalScript, StarterPlayerScripts içine yerleştirildiğinde, tuş ve fare tıklamalarının başladığı ve sona erdiği aşamaları yakalar ve sonucu Çıktı penceresine basar.

LocalScript - Tuş/Fare Başladı ve Bitti

local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- Başka bir scriptin girişi zaten işleyip işlemediğini kontrol et
if processedEvent then return end
print(inputObject.KeyCode.Name, "başladı!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- Başka bir scriptin girişi zaten işleyip işlemediğini kontrol et
if processedEvent then return end
print(inputObject.KeyCode.Name, "bitti!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)

Fare simgesi

Oyun içindeki bir oyuncunun fare simgesinin görünümünü ve davranışını özelleştirerek tüm kullanıcı arayüzü öğeleriniz arasında tutarlı bir stil oluşturabilirsiniz. Bu, belirli durumlarda oyuncunun fare simgesini geçici olarak değiştirmeyi de içerir; örneğin, bir düğmenin üzerine geldiğinde.

Bir LocalScript içinde oyuncunun fare simgesini MouseIcon özelliğini özel bir Roblox varlık kimliğine ayarlayarak değiştirebilirsiniz. Örneğin, aşağıdaki LocalScript, oyuncunun varsayılan fare simgesini ortasında mavi bir nokta olan bir daireye değiştirir.


local UserInputService = game:GetService("UserInputService")
UserInputService.MouseIcon = "rbxassetid://3400146391"
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.