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

أسرع فأسرع

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

challenge icon

التحدي

متوسط

تجعل كل عملية التقاط النجوم تسقط بسرعة أكبر. أضف [SerializeField] private float speedUp (اضبطه في المشهد على 0.5) وأضِفه إلى fallSpeed في كل مرة يتم فيها التقاط نجمة. لا تغيّر النجمة التي لم يتم التقاطها السرعة. احتفظ بكل ما أضفته في الخطوات السابقة.

جرّب بنفسك

using UnityEngine;

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

    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;

        if (Vector3.Distance(transform.position, star.position) < 1f)
        {
            score++;
            Debug.Log("Caught! Score: " + score);
            ResetStar();
        }
        else if (star.position.y < 0f)
        {
            ResetStar();
        }
    }

    void ResetStar()
    {
        star.position = new Vector3(Random.Range(-4f, 4f), 6f, 0f);
    }
}

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