إرشادات الوصول

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

الوصول هو ممارسة تصميم المنتجات والخدمات لتكون قابلة للاستخدام من قبل الأشخاص ذوي الإعاقة. تشير الإحصائيات الأخيرة إلى أن أكثر من 26% من الناس لديهم نوع من الإعاقة، لذا فإن جعل لعبتك على Roblox متاحة يمكن أن يساعدك في الوصول إلى جمهور أوسع.

حجم النص

قد يجد اللاعبون صعوبة في قراءة النصوص الصغيرة. قارن القائمة التالية للمتجر داخل اللعبة مع تطبيق ضباب، يحاكي ما قد يبدو عليه الأمر لشخص ذو رؤية ضعيفة.

مثال على النص الصغير في واجهة المستخدم

إذا زدت من حجم التسميات الخطية الصغيرة، فسيكون الأمر أكثر وضوحًا لمعظم اللاعبين.

مثال على النص الكبير في واجهة المستخدم

تباين الألوان

قد يجد اللاعبون صعوبة في قراءة النص الفاتح على خلفية فاتحة، أو النص الداكن على خلفية داكنة. من أجل تحسين الوصول، يُنصح باختيار ألوان النص والخلفية بتباين ألوان كاف.

مثال على عناصر واجهة المستخدم ذات التباين العالي
مثال على عناصر واجهة المستخدم ذات التباين المنخفض

عدم الاعتماد على الألوان

لدى أكثر من 5% من الأشخاص في العالم شكل من أشكال عمى الألوان. على الرغم من أنه نادر أن يرى شخص ما فقط بالأبيض والأسود، تخيل مشاهدة لعبة بالدرجات الرمادية:

مثال على واجهة المستخدم المعروضة بالألوان الكاملة

من خلال تعديل الصورة لاستخدام رموز مختلفة بجانب الألوان، يمكن لمزيد من اللاعبين التمييز بين اللعبة في سياقات أخرى:

مثال على واجهة المستخدم المعروضة بالألوان الكاملة

عدم الاعتماد على الصوت

الصوت إضافة ممتازة للألعاب الغامرة، ولكن اللاعبون ذوو ضعف السمع أو أي شخص يقوم بإيقاف صوتهم سيشعرون بالحيرة بسبب الأحداث داخل اللعبة التي تُنقل فقط بالصوت.

اعتبر المشهد التالي حيث يتم الإشارة إلى الهاتف الذي يرن فقط بالصوت، ثم يتم الإشارة إليه بالصوت و المساعدات المرئية.

تفضيلات اللاعبين

تتوفر مجموعة متنوعة من الإعدادات المرئية للاعبين من قوائم Roblox وداخل اللعبة، بما في ذلك الشفافية المفضلة، حجم النص المفضل، وتقليل الحركة. من أجل الوصول الأمثل، يجب على واجهتك المستخدم أن تستوعب كل منها.

الشفافية المفضلة

تتناسب إعدادات شفافية الخلفية مع خاصية GuiService.PreferredTransparency. تشير القيمة 1 إلى أن اللاعب يفضل الشفافية الافتراضية للخلفية، بينما تشير القيمة 0 إلى أن اللاعب يفضل الشفافية الخلفية المعتمة بالكامل (غير الشفافة) من أجل تحسين القراءة والتباين.

ضرب BackgroundTransparency بأداة PreferredTransparency هو الطريقة الموصى بها لاستخدام هذا الإعداد؛ ستصبح الخلفيات أكثر تعتيمًا كلما اقتربت خاصية PreferredTransparency من 0.

  1. باستخدام نظام التوسيم، قم بتطبيق علامة TransparentBack على جميع عناصر واجهة المستخدم التي تحتوي على BackgroundTransparency مثل TextLabels أو Frames.

    أربعة عناصر TextLabel بمستويات متفاوتة من BackgroundTransparency
    أربعة عناصر TextLabel بمستويات متفاوتة من BackgroundTransparency
  2. الصق الكود التالي في LocalScript داخل StarterPlayerScripts.

    ضبط ديناميكي للشفافية المفضلة

    local GuiService = game:GetService("GuiService")
    local CollectionService = game:GetService("CollectionService")
    local TAG = "TransparentBack"
    local transparentBackObjects = {}
    local function onInstanceAdded(object)
    if object.BackgroundTransparency then
    local defaultTransparency = object.BackgroundTransparency
    transparentBackObjects[object] = defaultTransparency
    object.BackgroundTransparency = defaultTransparency * GuiService.PreferredTransparency
    end
    end
    local function onInstanceRemoved(object)
    transparentBackObjects[object] = nil
    end
    -- تخزين الكائنات الموسومة المبدئية
    for _, object in CollectionService:GetTagged(TAG) do
    onInstanceAdded(object)
    end
    -- الكشف عن متى يتم إضافة أو إزالة الكائن الموسوم
    CollectionService:GetInstanceAddedSignal(TAG):Connect(onInstanceAdded)
    CollectionService:GetInstanceRemovedSignal(TAG):Connect(onInstanceRemoved)
    -- عند تغير إعداد اللعبة، ضبط العناصر الموسومة
    GuiService:GetPropertyChangedSignal("PreferredTransparency"):Connect(function()
    for object, defaultTransparency in transparentBackObjects do
    object.BackgroundTransparency = defaultTransparency * GuiService.PreferredTransparency
    end
    end)
  3. اختبر اللعبة، وافتح قائمة الإعدادات، واضبط شفافية الخلفية. يجب أن تتغير عناصر واجهة المستخدم الموسومة بين الشفافية BackgroundTransparency الافتراضية والمعتمة بالكامل.

حجم النص المفضل

تتناسب إعدادات حجم النص مع خاصية GuiService.PreferredTextSize التي تعود إلى Medium. يمكن للاعبين اختيار زيادة حجم النص عبر خط أنابيب عرض الخطوط للمحرك إلى Large، Larger، أو Largest.

عند العمل مع عناصر واجهة المستخدم، لاحظ السلوكيات التالية:

تقليل الحركة

تتناسب إعدادات تقليل الحركة مع خاصية GuiService.ReducedMotionEnabled. تشير القيمة true إلى أن اللاعب يريد تقليل أو إزالة تأثيرات الحركة عبر رسوم واجهة المستخدم/التويين.

نهج أساسي لإزالة الحركة من التويينات هو تعيين معامل Time إلى 0 عندما تكون ReducedMotionEnabled هي true، مما يجعل كائن واجهة المستخدم ينزلق نحو هدفه على الفور.

تويين واجهة المستخدم للثبات على الهدف لتقليل الحركة

local GuiService = game:GetService("GuiService")
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local menuUI = playerGui:WaitForChild("MenuUI")
-- استخدم وقت التويين 0.75 ثانية ما لم يكن تقليل الحركة مفعل
local TWEEN_TIME = if GuiService.ReducedMotionEnabled then 0 else 0.75
local tweenInfo = TweenInfo.new(TWEEN_TIME, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)
local tween = TweenService:Create(menuUI.SettingsFrame, tweenInfo, {Position = UDim2.fromScale(0.5, 0.5)})
tween:Play()

بدلاً من الانزلاق الفوري، يمكنك التعامل مع ReducedMotionEnabled باستخدام منطق أكثر تميزًا بين true وfalse. على سبيل المثال، يتم استخدام LocalScript التالي مع التحريك التوييني بشكل افتراضي، ولكن يتبدل إلى التلاشي للمستخدمين الذين يفضلون تقليل الحركة، مما يؤدي إلى انتقال أكثر أناقة دون حركات موضعية.

العودة إلى تلاشي التويين لتقليل الحركة

local GuiService = game:GetService("GuiService")
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local menuUI = playerGui:WaitForChild("MenuUI")
-- أنشئ مجموعة قماش لتويين جميع الأطفال بشكل متناسق
local canvasGroup = Instance.new("CanvasGroup")
canvasGroup.Size = UDim2.fromScale(1, 1)
canvasGroup.BackgroundTransparency = 1
canvasGroup.Parent = menuUI
-- أضف الأبناء إلى مجموعة القماش
menuUI.SettingsFrame.Parent = canvasGroup
local tweenInfo = TweenInfo.new(0.75, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out)
local tween
-- استخدم تلاشي التويين لتقليل الحركة، أو توين حركة خلاف ذلك
if GuiService.ReducedMotionEnabled then
-- تعيين مجموعة القماش أوليًا إلى شفاف بالكامل (غير مرئي)
canvasGroup.GroupTransparency = 1
-- تلاشي مجموعة القماش
tween = TweenService:Create(canvasGroup, tweenInfo, {GroupTransparency = 0})
else
-- تعيين مجموعة القماش أوليًا خارج الشاشة
canvasGroup.Position = UDim2.fromScale(0, -1)
-- نقل مجموعة القماش إلى الشاشة
tween = TweenService:Create(canvasGroup, tweenInfo, {Position = UDim2.fromScale(0, 0)})
end
tween:Play()

عناصر التحكم في الصوت

يمكن أن يكون وجود أصوات مختلفة تعمل في نفس الوقت أمرًا ساحقًا، ومشتتًا، أو صعب التمييز. توفير عناصر التحكم في الصوت للمستخدمين من أجل "مجموعات" صوتية مختلفة مثل مؤثرات الصوت، والموسيقى، والكلام يسمح لهم بتخصيص لعبتهم والتركيز على ما يحتاجون إليه.

اعتبر المثال التالي للعبة صاخبة للغاية حيث يمكن للمستخدم تعديل مستويات الموسيقى ومؤثرات الصوت بشكل منفصل.

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.