كل لعبة تحتاج إلى تلقي إدخال من المستخدم لكي يتمكن اللاعبون من التفاعل ورؤية بيئتهم. يدعم Roblox تقريبًا جميع أشكال الإدخال، بما في ذلك الفأرة/لوحة المفاتيح، اللمس، أجهزة التحكم، وVR.
الإدخال عبر المنصات
Roblox هو بطبعه عبر المنصات، حيث يمكن للاعبين اكتشاف والانضمام إلى الألعاب على هواتفهم أو أجهزتهم اللوحية، ثم متابعة ما تركوه لاحقًا على أجهزة الكمبيوتر أو وحدات التحكم. الإدخال هام بشكل خاص كجزء من خطة تطويرك عبر المنصات.
لتبسيط هذه العملية، يوفر Roblox نظام إجراءات الإدخال لتعريف الإجراءات مثل "القفز"، "الركض"، أو "الإطلاق" وإعداد ارتباطات لمدخلات الأجهزة المتعددة لدفع تلك الإجراءات. هذا يحررك من التفكير في جميع الجوانب الفنية للمدخلات ويتيح لك ببساطة تحديد أي المدخلات تؤدي أي الإجراءات.

كشف نوع الإدخال
في تطوير عبر المنصات، من المهم أن تحدد وتستجيب إلى نوع الإدخال الأساسي الذي يستخدمه اللاعب، عادةً لضمان أن تعمل عناصر واجهة المستخدم مثل الأزرار والقوائم على الشاشة بشكل أنيق عبر الأجهزة.
على سبيل المثال، يفترض أن جهاز اللمس يعتبر اللمس هو الإدخال الافتراضي وأن الأزرار اللمسية قد تظهر للإجراءات، ولكن إذا قام اللاعب بتوصيل لوحة مفاتيح/فأرة بلوتوث إضافية أو وحدة تحكم، يمكنك افتراض أنهم يريدون التبديل إلى ذلك كنوع الإدخال الأساسي واحتمال استخدام اللمس كإدخال احتياطي لواجهة المستخدم على الشاشة. خاصية UserInputService.PreferredInput القابلة للقراءة فقط هي وسيلة ملائمة لاختبار والتكيف مع أنواع المدخلات المتعددة عبر أنواع الأجهزة المتعددة، بناءً على سلوك اللاعب المتوقع.
تتغير قيمة PreferredInput بناءً على المدخلات المدمجة للجهاز وأحدث تفاعل للاعب مع وحدة التحكم المتصلة أو لوحة المفاتيح/الفأرة. تشمل الأمثلة:
| السيناريو في العالم الحقيقي | PreferredInput |
|---|---|
| يلعب اللاعب على هاتف دون أي أجهزة إدخال متصلة أخرى؛ لا يوجد احتمال لتغيير نوع الإدخال. | Touch |
| يستخدم اللاعب جهازًا موبايلًا مع لوحة مفاتيح وفأرة بلوتوث متصلة، لكن لا توجد وحدة تحكم متصلة. | KeyboardAndMouse |
| يستخدم اللاعب جهازًا لوحيًا مع وحدة تحكم بلوتوث متصلة، لكن لا توجد لوحة مفاتيح أو فأرة متصلة. | Gamepad |
| يلعب اللاعب على Xbox أو PlayStation مع لوحة مفاتيح وفأرة بلوتوث متصلة وقد تفاعل مؤخرًا مع لوحة المفاتيح أو الفأرة. | KeyboardAndMouse |
| يلعب اللاعب على جهاز كمبيوتر Windows أو Mac مع وحدة تحكم متصلة وقد تفاعل مؤخرًا مع وحدة التحكم. | Gamepad |
الـ LocalScript التالي هو قالب للكشف عن الإدخال المفضل والاستجابة للتغييرات أثناء اللعب.
كشف الإدخال المفضل
local UserInputService = game:GetService("UserInputService")
local function preferredInputChanged()
local preferredInput = UserInputService.PreferredInput
if preferredInput == Enum.PreferredInput.Touch then
-- اللاعب على جهاز يدعم اللمس دون أي أنواع إدخال أخرى متاحة/متصلة
print("لمس")
elseif preferredInput == Enum.PreferredInput.Gamepad then
-- اللاعب قد اتصل أو تفاعل مؤخرًا مع وحدة تحكم
print("وحدة تحكم")
elseif preferredInput == Enum.PreferredInput.KeyboardAndMouse then
-- اللاعب قد اتصل أو تفاعل مؤخرًا مع لوحة مفاتيح أو فأرة
print("لوحة مفاتيح وفأرة")
end
end
preferredInputChanged()
UserInputService:GetPropertyChangedSignal("PreferredInput"):Connect(function()
preferredInputChanged()
end)
الارتباطات الافتراضية
توفر Roblox تركيبات إدخال افتراضية للحركة، والتحكم في الكاميرا، والتفاعل الأساسي مع البيئة — يعرف لاعبو Roblox هذه العناصر بشكل جيد، لذا يجب عليك تجاوزها فقط في حالات محددة. لاحظ أيضًا أن الإدخالات المحجوزة لا يمكن تجاوزها وستعمل دائمًا وفقًا لغرضها المقصود.
| الإجراء | الفأرة/لوحة المفاتيح | وحدة التحكم | اللمس |
|---|---|---|---|
| فتح قائمة Roblox | Esc | Start button (ButtonStart) | غير متاح |
| وحدة تحكم المطور | F9 | غير متاح | غير متاح |
| وضع ملء الشاشة (Windows) عرض سطح المكتب (Mac) | F11 | غير متاح | غير متاح |
| تسجيل الفيديو (Windows) | F12 | غير متاح | غير متاح |
| التقاط صورة الشاشة | PrintScreen | غير متاح | غير متاح |