Menu
CoddyTech

الكرة المتدحرجة

جزء من قسم الفيزياء وأسلوب اللعب في رحلة Unity على Coddy. الدرس 28 من 71.

يبني هذا الفصل لعبة صغيرة بعنوان Coin Rush. تدحرج كرةً حول ساحة محاطة بالجدران باستخدام الأسهم، واجمع العملات قبل انتهاء الوقت. يتقاسم نصّان برمجيان العمل، كما يحدث في مشروع Unity: يتولى Ball تحريك الكرة، كما يتولى حفظ النتيجة والوقت، ويوجد Coin على كل عملة. يبدأ Coin.cs كصنف فارغ، ويكمله الدرس التالي.

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

public float push = 6f;
private Rigidbody rb;

void Start()
{
    rb = GetComponent<Rigidbody>();
}

void FixedUpdate()
{
    if (Input.GetKey(KeyCode.Space))
    {
        rb.AddForce(Vector3.forward * push);
    }
}

تدور الكرة التي تتدحرج من دون انزلاق بسرعة تساوي سرعتها مقسومة على نصف قطرها، لذا فإن كرة نصف قطرها 0.5 وتتحرك بسرعة 3 وحدات في الثانية تدور بسرعة 6 راديان في الثانية (rb.angularVelocity). أما إذا غيّرت transform.position بدلًا من ذلك، أو جمّدت دورانها ضمن قيود Rigidbody، فستنزلق مثل قرص الهوكي من دون أن تدور. تبدو الكرة الكروية ذات اللون الواحد كما هي في الحالتين: لمشاهدة التدحرج، راقب السرعة الزاوية في قسم المعلومات في Rigidbody أثناء تشغيل اللعبة.

challenge icon

التحدي

متوسط

ابدأ Coin Rush: حرّك الكرة باستخدام الأسهم.

  1. في Ball.cs، داخل Start()، عيّن rb = GetComponent<Rigidbody>();.
  2. في FixedUpdate()، اقرأ float x = Input.GetAxis("Horizontal"); وfloat z = Input.GetAxis("Vertical");، ثم استدعِ rb.AddForce(new Vector3(x, 0f, z) * force);.

اضغط على «العب»، وانقر على اللعبة وحرّك الكرة: تدور الكرة أثناء تحرّكها. ثم اضغط على «تحقق».

جرّب بنفسك

using UnityEngine;

public class Ball : MonoBehaviour
{
    public float force = 10f;
    private Rigidbody rb;

    void Start()
    {
    }

    void FixedUpdate()
    {
        // ادفع الكرة باستخدام مفاتيح الأسهم: Horizontal على طول المحور x، وVertical على طول المحور z.
    }
}

جميع دروس الفيزياء وأسلوب اللعب

تدرّب بنفسك: Playground لـ Unity