Menu
CoddyTech

التقطها

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

challenge icon

التحدي

متوسط

التقط النجمة وأحصِ مرات التقاطها.

  1. أضف حقلًا private int score;.
  2. بعد تحرّك النجمة، عندما يكون Vector3.Distance(transform.position, star.position) < 1f، أضف 1 إلى score وسجّل "Caught! Score: " + score.
  3. داخل عبارة if هذه، أعد النجمة إلى y = 6f، مع الإبقاء على قيمتي x وz.

اضغط «العب» وانزلق أسفل النجمة: ستعرض وحدة التحكم Caught! Score: 1. ثم اضغط «تحقق».

جرّب بنفسك

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

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