التقطها
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 38 من 67.
التحدي
متوسطالتقط النجمة. أضف 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
1أول سكربت لك
مرحبًا يا Unityضع المكعبتحرّك في كل إطاراستدر كل ثانيةوجّه باستخدام المفاتيحمراجعة: قُد المكعب5التحويلات والتسلسل الهرمي
الآباء والأبناءالتحجيمالنظر إلى الأشياءالتحرك نحو نقطةمراجعة: القمر الدائر