ممارسة المعلمات - الأزرار

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

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

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

صنع جسر

ابدأ بإعداد الجسر.

  1. أنشئ منطقة في بيئتك حيث سيحتاج اللاعبون إلى جسر.

  2. أنشئ جزءًا للجسر وأعد تسميته إلى "Bridge".

  3. حدد الجسر، في نافذة الخصائص:

    • غير الشفافية إلى .5. بالنسبة للشفافية، 0 مرئي، 1 غير مرئي.
    • تحقق من التثبيت.
    • ألغِ تحديد يمكن الاصطدام.
  4. عندما تختبر اللعبة، يجب أن يبدو الجسر ضبابيًا ولا ينبغي أن يتمكن الناس من السير عليه بعد.

إنشاء الزر

الآن بعد أن تم إعداد الجسر، أنشئ الزر.

  1. أنشئ جزءًا جديدًا باسم Button.

  2. غير لون الزر إلى الأحمر.

  3. ثبّت الزر.

  4. حرك الزر بحيث يكون عائمًا قليلاً وغير ملامس لأي شيء. هذا لضمان عدم تشغيل حدث Touched عن طريق الخطأ.

جعل الزر تفاعليًا

هذه المرة، بدلاً من استخدام حدث Touched لإنشاء فخ، ستستخدمه لإنشاء زر يجعل الجسر قابلًا للاستخدام. لجعل الجسر قابلًا للاصطدام، استخدم الكود bridge.CanCollide = true داخل دالة مخصصة تعمل عندما يلمس اللاعب الزر. أنت تعرف كل ما تحتاجه لإكمال الخطوات التالية.

حاول أن تجد الحل بنفسك قبل النظر إلى حل الكود.

  1. أدخل سكريبت جديد في الزر باسم ActivateBridge.
  2. احذف Hello World.
  3. أنشئ متغيرات للجسر وللزر.
  4. أنشئ دالة محلية تقوم بما يلي عند لمس الزر:
    • اطبع "button touched".
    • غير لون الزر من الأحمر إلى الأخضر عند لمسه.
    • غير شفافية الجسر إلى 0 لجعله مرئيًا.
    • اجعل الجسر قابلًا للاستخدام باستخدام الكود bridge.CanCollide = true
  5. اربط الدالة بحدث Touched للزر.
  6. اختبر السكريبت وتأكد من ظهور الجسر عند لمس الزر.

حل الكود فيما يلي حل كود محتمل

-- أدخل هذا السكريبت في الزر
-- يجعل الزر أخضر عندما يلمس شيء الزر.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("button touched")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

استكشاف الأخطاء في الكود الخاص بك

المشكلة: الجسر صلب بالفعل عندما تبدأ اللعبة. تأكد من أن الأجزاء مثبتة وغير ملامسة لأي شيء. قد تلامس الأجزاء شيئًا، مثل التضاريس أو جزء آخر، مما يتسبب في تشغيل دالة buttonPressed() عن طريق الخطأ.

المشكلة: تحصل على خطأ في نافذة الإخراج يقول: "Bridge is not a valid member of Workspace" تحقق من ما يلي:

  • تسمية الجسر الخاص بك. يجب أن يكون الجسر في السكريبت مسمى بالضبط كما هو في المستكشف.
  • أن part.Touched:Connect(buttonPressed) خارج دالة buttonPressed().

تحدي كود اختياري

يمكن أيضًا استخدام السكريبت في هذا الدرس للحفاظ على الأبواب التي تمنع اللاعبين من دخول مناطق معينة. مارس مهاراتك في البرمجة وقم بما يلي:

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

قد يبدو إصدارك شيئًا مثل هذا:

local button = script.Parent
-- تذكير: استبدل اسم الجزء، Gate، بالذي في مشروعك
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- يغير الزر إلى الأحمر ليعطي اللاعب ردود فعل
button.BrickColor = BrickColor.Red() -- غيّر هذا
-- يجعل البوابة غير مرئية
gate.Transparency = 1
-- يجعل اللاعب قادرًا على المرور عبر البوابة
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.