مطالبات القرب

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

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

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

إنشاء مطالبات القرب

يجب عليك ربط مطالبات القرب بالجزء، النموذج، أو المرفق الذي تريد من المستخدم التفاعل معه. لإضافة مطالبة قرب إلى كائن BasePart، Model، أو Attachment:

  1. في نافذة Explorer، مرر فوق BasePart، Model، أو Attachment وانقر على زر ⊕ . ستظهر قائمة سياقية.

  2. من القائمة، أدخل ProximityPrompt.

    هيكل Explorer يظهر ProximityPrompt مرتبط بمرفق

تخصيص مطالبات القرب

يمكنك تخصيص مطالبة القرب بناءً على كيفية رغبتك في ظهورها، متى تريد أن تكون مرئية، وماذا تريد من المستخدم أن يفعل لتفعيل الإجراء.

المظهر

تحتاج مطالبات القرب إلى التواصل بثلاثة أشياء:

  • الكائن الذي يمكن للمستخدم التفاعل معه.
  • الإجراء الذي يتم تفعيله عند تفاعلهم مع مطالبة القرب.
  • المفتاح الذي يجب على المستخدم الضغط عليه أو الاستمرار في الضغط عليه.

يمكنك تحديد هذه من خلال الخصائص التالية:

  • ObjectText اسم اختياري للكائن الذي يمكن للمستخدم التفاعل معه.

  • ActionText اسم اختياري للإجراء الذي سيقوم المستخدم بتفعيله.

  • KeyboardKeyCode مفتاح لوحة المفاتيح الذي يجب على المستخدم الضغط عليه أو الاستمرار في الضغط عليه لتفعيل الإجراء.

  • GamepadKeyCode مفتاح جهاز التحكم الذي يجب على المستخدم الضغط عليه أو الاستمرار في الضغط عليه لتفعيل الإجراء.

    مخطط يوضح العناصر الأساسية لمطالبة القرب

الرؤية

يمكنك التحكم في متى تكون مطالبة القرب مرئية من خلال خصائص MaxActivationDistance، RequiresLineOfSight، و Exclusivity.

MaxActivationDistance

تسمح لك خاصية MaxActivationDistance بتحديد النطاق من حول كائن ProximityPrompt الذي ينشط رؤية مطالبة القرب. بمجرد دخول شخصية المستخدم إلى هذا النطاق، تصبح مطالبة القرب مرئية.

مخطط يوضح كيف تؤثر مسافة الشخصية من كائن ProximityPrompt على ما إذا كانت المطالبة تظهر على الشاشة

RequiresLineOfSight

تقوم خاصية RequiresLineOfSight بتنشيط رؤية مطالبة القرب عندما يكون هناك مسار واضح من الكاميرا إلى كائن ProximityPrompt. بشكل افتراضي، يتم تعيين هذه الخاصية على true.

Exclusivity

إذا كانت شخصية المستخدم ضمن نطاق عدة مطالبات قرب، فإن رؤية كل مطالبة قرب تعتمد على أي مطالبة قرب تشير إليها الكاميرا، بالإضافة إلى قيمة خاصية Exclusivity لكل مطالبة قرب.

كائنات ProximityPrompt تم تعيينها إلى حصرية OnePerButton
تكون مطالبة قرب واحدة فقط مرئية لكل رمز مفتاح إدخال. إذا كانت هناك عدة مطالبات قرب في النطاق تستخدم رموز مفاتيح مختلفة، فإنها تكون جميعها مرئية. ومع ذلك، إذا كانت هناك عدة مطالبات قرب في النطاق تستخدم نفس رمز المفتاح، فإن مطالبة قرب واحدة فقط تكون مرئية في أي وقت، اعتمادًا على اتجاه رؤية الكاميرا.

التفاعل

يمكنك تخصيص كيفية تفاعل المستخدم مع مطالبة القرب من خلال خصائص HoldDuration و ClickablePrompt.

HoldDuration

تحدد خاصية HoldDuration عدد الثواني التي يجب على المستخدم الضغط فيها على مفتاح قبل أن يتم تفعيل إجراء مطالبة القرب. إذا كانت هذه الخاصية لها قيمة 0، يتم تفعيل إجراء مطالبة القرب على الفور.

ClickablePrompt

تحدد خاصية ClickablePrompt ما إذا كان يمكن للمستخدم النقر على مطالبة قرب لتفعيل إجراءها. عند تعيينها إلى true، يمكن للمستخدم التفاعل مع مطالبة القرب من خلال النقر مباشرة على مطالبة القرب أو من خلال الضغط على المفتاح المحدد. عند تعيينها إلى false، يمكن للمستخدم التفاعل مع مطالبة القرب فقط من خلال الضغط على المفتاح المحدد.

سكربت مطالبات القرب

يمكنك الاتصال بأحداث مطالبة القرب إما على كائن ProximityPrompt نفسه أو عالميًا من خلال ProximityPromptService. يسمح لك ProximityPromptService بإدارة جميع سلوكيات مطالبة القرب من موقع واحد، مما يمنع الحاجة إلى تكرار الكود في لعبتك.

الحدثالوصف
PromptTriggeredيتم تشغيله عندما يتفاعل اللاعب مع مطالبة قرب (بعد مدة لمطالبة مع HoldDuration غير صفرية).
PromptTriggerEndedيتم تفعيله عندما يتوقف اللاعب عن التفاعل مع مطالبة قرب.
PromptButtonHoldBeganيتم تشغيله عندما يبدأ اللاعب بالتفاعل مع مطالبة قرب بقيمة HoldDuration غير صفرية.
PromptButtonHoldEndedيتم تشغيله عندما يتوقف اللاعب عن التفاعل مع مطالبة قرب بقيمة HoldDuration غير صفرية.
PromptShownيتم تفعيله في LocalScripts عندما تصبح مطالبة قرب مرئية.
PromptHiddenيتم تفعيله في LocalScripts عندما يتم إخفاء مطالبة.

تتضمن عينة الكود التالية إطار عمل أساسي لاستخدام ProximityPromptService:

local ProximityPromptService = game:GetService("ProximityPromptService")
-- اكتشاف متى يتم تفعيل المطالبة
local function onPromptTriggered(promptObject, player)
end
-- اكتشاف متى يبدأ الضغط على المطالبة
local function onPromptHoldBegan(promptObject, player)
end
-- اكتشاف متى ينتهي الضغط على المطالبة
local function onPromptHoldEnded(promptObject, player)
end
-- ربط أحداث المطالبة بوظائف المعالجة
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.