Menu
CoddyTech

غولف الكرات الزجاجية

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

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

اكتب نصّين برمجيين: Golf على البلّية وHole على الحفرة.

challenge icon

التحدي

صعب

اكتب برنامج كرة الغولف الزجاجية: وجّه، اشحن، سدّد.

  1. غيّر اتجاه aim باستخدام المحور الأفقي الخام وبسرعة aimSpeed؛ وضع pointer عند transform.position + Quaternion.Euler(0f, aim, 0f) * Vector3.forward.
  2. عندما تكون الكرة ساكنة (أي سرعتها أقل من stopSpeed)، يؤدي الضغط باستمرار على مفتاح المسافة إلى زيادة power بمعدل chargeRate حتى maxPower؛ وعند إفلات المفتاح، ادفع الكرة في اتجاه التصويب (باستخدام Impulse)، وأعد ضبط power، وسجّل "Stroke " + strokes.
  3. في FixedUpdate()، صفّر السرعتين عندما تكون الكرة ساكنة.

اضغط على «العب» ثم سدّد الكرة. بعد ذلك اضغط على «تحقق».

جرّب بنفسك

using UnityEngine;

public class Golf : MonoBehaviour
{
    public int strokes = 0;
    [SerializeField] private Transform pointer;
    [SerializeField] private float aimSpeed = 90f;
    [SerializeField] private float chargeRate = 4f;
    [SerializeField] private float maxPower = 6f;
    [SerializeField] private float stopSpeed = 0.3f;
    private Rigidbody rb;

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

    // وجّه باستخدام مفاتيح الأسهم، واشحن باستخدام Space، وسدّد عند إفلاته، وتوقّف عندما تصبح الحركة بطيئة
}

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

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