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

التقطها

جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 38 من 67.

challenge icon

التحدي

متوسط

التقط النجمة. أضف score تبدأ قيمته عند 0. عندما تقترب النجمة من الماسك إلى مسافة أقل من وحدة واحدة (قِس ذلك باستخدام Vector3.Distance)، تُلتقط النجمة:

  • أضف 1 إلى score،
  • سجّل Caught! Score: 1، مع الدرجة الجديدة،
  • أعِد النجمة إلى الأعلى عند y = 6، مع الإبقاء على قيمتي x وz، لكي تسقط مجددًا.

النجمة التي لا تُلتقط تواصل السقوط في الوقت الحالي. احتفظ بكل ما أُنجز في الخطوات السابقة.

جرّب بنفسك

using UnityEngine;

public class Catcher : MonoBehaviour
{
    [SerializeField] private float speed = 6f;
    [SerializeField] private Transform star;
    [SerializeField] private float fallSpeed = 3f;

    void Update()
    {
        float x = transform.position.x;
        if (Input.GetKey(KeyCode.RightArrow))
        {
            x += speed * Time.deltaTime;
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            x -= speed * Time.deltaTime;
        }
        x = Mathf.Clamp(x, -4f, 4f);
        transform.position = new Vector3(x, transform.position.y, transform.position.z);

        star.position += Vector3.down * fallSpeed * Time.deltaTime;
    }
}

جميع دروس أساسيات البرمجة النصية في Unity