Menu
CoddyTech
flag Ar iconالعربيةdown icon

القطرات

الدرس 13 من 16 في دورة لعبة Unity: تحطيم الطوب على Coddy.

أحيانًا تُسقط الطوبة المكسورة تعزيزًا يسقط باتجاه المضرب. وما إذا كانت ستُسقطه أم لا يعتمد على سحب عشوائي: Random.value قيمة عائمة عشوائية من 0 إلى 1، لذا تكون Random.value < 0.15f صحيحة نحو 15 مرة من كل 100. يتيح وضع الاحتمال في حقل ضبطه، كما يتيح للاختبار تعيينه إلى 1 لإسقاط عنصر في كل مرة، أو إلى 0 لعدم إسقاط أي عنصر.

أما تحديد التعزيز الذي سيسقط فهو سحب عشوائي ثانٍ: فهرس عشوائي ضمن مصفوفة من النماذج الأولية. عند استخدام أعداد صحيحة مع Random.Range، لا تشمل النتيجة الحد الأقصى، لذا يمكن لـ Random.Range(0, array.Length) اختيار كل عنصر. غنائم عدو:

public GameObject[] loot;
public float lootChance = 0.25f;

void DropLoot()
{
    if (Random.value >= lootChance) return;
    int pick = Random.Range(0, loot.Length);
    Instantiate(loot[pick], transform.position, Quaternion.identity);
}

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

challenge icon

التحدي

صعب
  1. في PowerUp، أضف public float fallSpeed = 3f وpublic float bottomY = -9f. في Update()، حرّكه إلى الأسفل بسرعة fallSpeed وحدة في الثانية، ودمّر تعزيز القوة عندما يصبح إحداثي y الخاص به أقل من bottomY.
  2. في GameManager، أضف public GameObject[] powerUps (يربط المشهد بين الكائنات الجاهزة WidePowerUp وMultiPowerUp) وpublic float dropChance = 0.15f.
  3. في BrickBroken، أظهر واحدًا عشوائيًا من powerUps في مكان الطوبة، باحتمال dropChance.

تعزيزات القوة تسقط عبر المضرب في الوقت الحالي: سنضيف التقاطها لاحقًا.

اضغط على Play، وحطّم الطوب حتى يسقط أحدها، ثم اضغط على Check.

جرّب بنفسك

using UnityEngine;

public class PowerUp : MonoBehaviour
{
    // الفصل الأخير: عناصر تعزيز القوة التي تسقط من الطوب المحطّم.
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس لعبة Unity: تحطيم الطوب