حركة المرور
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 83 من 85.
التحدي
صعبأرسل السيارات على الطريق.
- كل
spawnEveryثانية، أضف سيارة عند(-9, 0.5, lanes[Random.Range(0, lanes.Length)])إلى قائمة. - حرّك كل سيارة على طول +x بسرعة
carSpeed؛ وعندما تتجاوز x =9، أتلفها وأزلها. - إذا كانت سيارة على بُعد أقل من
1.5على x و1على z، فسجّلHit!وأعِد الشخصية القافزة إلىstart.
اضغط على «العب»: ستندفع السيارات أمامك. ثم اضغط على «تحقق».
جرّب بنفسك
using System.Collections.Generic;
using UnityEngine;
public class Crossing : MonoBehaviour
{
[SerializeField] private GameObject carPrefab;
[SerializeField] private float[] lanes;
[SerializeField] private float spawnEvery = 1f;
[SerializeField] private float carSpeed = 5f;
private Vector3 start;
void Start()
{
start = transform.position;
}
void Update()
{
if (Input.GetKeyDown(KeyCode.UpArrow))
{
transform.position += new Vector3(0f, 0f, 2f);
}
if (Input.GetKeyDown(KeyCode.DownArrow) && transform.position.z > start.z)
{
transform.position -= new Vector3(0f, 0f, 2f);
}
if (transform.position.z >= 4f)
{
Debug.Log("You made it!");
enabled = false;
return;
}
// السيارات: الدرس التالي.
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity