الكرة المتدحرجة
جزء من قسم الفيزياء وأسلوب اللعب في رحلة 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 أثناء تشغيل اللعبة.
التحدي
متوسطابدأ Coin Rush: حرّك الكرة باستخدام الأسهم.
- في
Ball.cs، داخلStart()، عيّنrb = GetComponent<Rigidbody>();. - في
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.
}
}
جميع دروس الفيزياء وأسلوب اللعب
1الجسم الصلب (Rigidbody)
الجاذبية والكتلةالدفع باستخدام AddForceالقفز باستخدام دفعةFixedUpdate للفيزياءالسرعة المتجهةالأجسام الحركيةمراجعة: منصة الإطلاق4الكوروتينات
InvokeInvokeRepeating, CancelInvokeأول Coroutine لكالحلقات داخل الكوروتيناتإيقاف الكوروتيناتمراجعة: العد التنازلي10المشروع: الهروب من الحلبة
الحلبةالصيادونتدرّب بنفسك: Playground لـ Unity