استخدم المعلمات والأحداث

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

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

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

استخدم المعلمات والأحداث لإعداد فخ

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

إنشاء جزء جديد

يحتاج جزء إلى الإعداد الذي سيدمر أي شيء يلمسه.

  1. أنشئ جزءًا جديدًا لا يلمس أي شيء. إذا كان يلمس شيئًا، فقد ينفجر في وقت مبكر جدًا.
  2. في مستكشف اللعبة، أعد تسمية الجزء: TrapPart.
  3. ثبّت الجزء.

إعداد السكربت

استخدم ما تعرفه عن المتغيرات وهيكل اللعبة للإشارة إلى جزء الفخ.

  1. أضف سكربتًا جديدًا إلى جزء الفخ. أعد تسمية السكربت إلى TrapScript.

  2. احذف Hello World وأضف تعليقًا وصفيًا.

  3. تحت التعليق، أنشئ متغيرًا جديدًا يعثر على والد السكربت.

    -- يدمر أي شيء يلمس الوالد
    local trap = script.Parent

إنشاء دالة مع معلمة

سيستخدم الفخ دالة لتدمير أي شيء يلمس الجزء. لكي تعمل، تحتاج الدالة إلى معرفة ما الذي لمس الجزء. وهذا يعني استخدام المعلمات. يتم كتابة المعلمات داخل () التي تأتي بعد اسم الدالة. تبدو هكذا:

local function functionName(parameterName)
end

المعلومات الفعلية التي يتم تمريرها عبر المعلمة تُسمى حجة. ستقوم بإنشاء دالة جديدة تسمى onTouch() مع معلمة تسمى objectTouched التي ستتتبع أي شيء يلمس الفخ ثم تدمر الجزء الملموس.

  1. أنشئ دالة محلية. يمكن تسميتها بأي اسم، لكن هذا الدرس سيستخدم onTouch

    local trap = script.Parent
    local function onTouch()
    end
  2. داخل (), اكتب اسمًا للمعلمة. سيستخدم هذا الدرس objectTouched.

    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. بين local function onTouch() و end, أنشئ عبارة طباعة. ستستخدم هذا للتحقق مما إذا كان هناك شيء يلمس الجزء في القسم التالي.

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("شيء لمس الفخ")
    end

استخدم حدثًا لاستدعاء الدالة

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

يتم تشغيل حدث Touched كلما لمس جزء واحد جزءًا آخر ويمكن استخدامه لإنشاء أزرار، وفخاخ، وأشياء أخرى يتفاعل معها اللاعبون.

  1. تحت end للدالة، اكتب trap.Touched:Connect(onTouch)

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("شيء لمس الفخ")
    end
    -- ربط الدالة بحدث Touched
    trap.Touched:Connect(onTouch)
  2. انقر على اختبار ثم المس الجزء. تحقق من عبارة الطباعة الخاصة بك: شيء لمس الفخ. إذا لم تتمكن من رؤية السلسلة في نافذة الإخراج، تحقق من ما يلي:

    • تأكد من أن السلسلة "شيء لمس الجزء!" موجودة بين local function onTouch() و end.
    • تحقق من أن Touched مكتوبة بحرف كبير.
  3. الآن بعد أن تم إعداد الدالة بشكل صحيح، استخدمها لتدمير أي شيء يلمس الجزء. داخل الدالة، بعد السلسلة، اكتب objectTouched:Destroy() يجب أن يكون الكود المكتمل:

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("شيء لمس الفخ")
    -- تدمير الكائن الملموس
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. اختبر مرة أخرى وانظر ماذا يحدث عندما يتم لمس الجزء. يجب أن ينتهي الأمر بشخصيتك مفقودة الأرجل أو الذراعين. إذا لمس الجزء رأس أو عنق الشخصية، فقد يتم تدميرها تمامًا.

ملخص

تُستخدم المعلمات لتمرير المعلومات التي تكون عادةً خارج النطاق (حيث لا تستطيع الدالة رؤيتها)، إلى دالة. في الوقت نفسه، الأحداث هي إشارات خاصة تنطلق داخل اللعبة عندما يحدث شيء مهم. تمتلك الكائنات المختلفة أحداثًا مختلفة. يمكن ربط الدوال بالأحداث بحيث يتم استدعاؤها في كل مرة يتم فيها إطلاق الحدث. هذا السكربت الصغير ربط دالة بحدث Touched للفخ، ومرر ما كان يلمس الفخ من خلال المعلمة.

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