تشكل نسبة كبيرة من جلسات Roblox على أجهزة مزودة بفأرة ولوحة مفاتيح، لذا من المهم دعم هذه المدخلات عند تصميم لعبة لجمهور واسع.
لتبسيط المدخلات عبر الأنظمة الأساسية، بما في ذلك الفأرة/لوحة المفاتيح، تقدم Roblox نظام إجراءات الإدخال لتعريف الإجراءات مثل "القفز" أو "الركض" أو "الط firing" وتحديد الارتباطات لمجموعة متنوعة من مدخلات الأجهزة لدفع تلك الإجراءات.
تدعم Roblox أيضًا إدخال الفأرة/لوحة المفاتيح العامة من خلال أحداث UserInputService مثل InputBegan وInputEnded وطرق مثل IsKeyDown() للتحقق مما إذا كان مفتاح معين مضغوطًا على لوحة المفاتيح.
اكتشاف نوع الإدخال
في تطوير عبر الأنظمة الأساسية، من المهم أن تحدد وتستجيب لنوع PreferredInput الذي يستخدمه اللاعب، عادةً لضمان أن تعمل عناصر واجهة المستخدم مثل الأزرار والقوائم المعروضة على الشاشة بسلاسة وتدعم التفاعل عبر الأجهزة.
على سبيل المثال، تفترض أجهزة الكمبيوتر الشخصية أو أجهزة اللابتوب أن الفأرة/لوحة المفاتيح هي المدخلات الافتراضية، لكن يمكن أن يختار اللاعب توصيل جهاز تحكم بلوتوث. في هذه الحالة، تبقى الفأرة/لوحة المفاتيح مدخلات صالحة، ولكن يمكنك افتراض أن اللاعب يريد التحول إلى جهاز التحكم المتصل كنوع الإدخال الرئيسي.
انظر اكتشاف نوع الإدخال لمزيد من المعلومات.
إدخال الفأرة/المفتاح العمومي
بخلاف نظام إجراءات الإدخال، يمكنك التقاط إدخالات الفأرة ولوحة المفاتيح باستخدام UserInputService. يقوم LocalScript التالي، عند وضعه في StarterPlayerScripts، بالتقاط مراحل البداية والنهاية لضغطات المفاتيح والنقرات على الفأرة ويطبع النتيجة في نافذة الإخراج.
LocalScript - إخراج بدأ وانتهى ضغط الزر/الفأرة
local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- ارجع إذا كان هناك نص آخر قد عالج الإدخال بالفعل
if processedEvent then return end
print(inputObject.KeyCode.Name, "بدأت!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- ارجع إذا كان هناك نص آخر قد عالج الإدخال بالفعل
if processedEvent then return end
print(inputObject.KeyCode.Name, "انتهت!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)
رمز الفأرة
يمكنك تخصيص مظهر وسلوك رمز الفأرة الخاص باللاعب داخل لعبتك لإنشاء أسلوب متناسق عبر جميع عناصر واجهة المستخدم الخاصة بك. يشمل ذلك تغيير رمز الفأرة الخاص باللاعب مؤقتًا في ظروف معينة، مثل التحويم فوق زر.
يمكنك تغيير رمز فأرة اللاعب في LocalScript عن طريق تعيين خاصية MouseIcon في UserInputService إلى معرّف أصل Roblox مخصص. على سبيل المثال، تقوم LocalScript التالية بتغيير رمز الفأرة الافتراضي للاعب إلى دائرة تحتوي على نقطة زرقاء في الوسط.
local UserInputService = game:GetService("UserInputService")UserInputService.MouseIcon = "rbxassetid://3400146391"