عبور الطريق
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 66 من 67.
ينتظر ضفدع عند حافة طريق مزدحم. تأتي السيارات من اليسار في ثلاثة مسارات وتعبر الطريق. يقفز اللاعب إلى الأمام أو إلى الخلف مسارًا واحدًا في كل مرة باستخدام سهمي الأعلى والأسفل، وعليه أن يختار توقيت كل قفزة ليصل إلى الجانب الآخر. إذا اصطدمت سيارة بالضفدع، تعيده إلى نقطة البداية.
اكتب اللعبة كاملةً في سكربت واحد، Crossing، على الضفدع.
التحدي
صعباكتب النص البرمجي Crossing على القافز، الذي يبدأ عند z = -4، أسفل طريق ذي ثلاثة مسارات. يضبط Inspector قيمة carPrefab (النموذج الأولي للسيارة)، وlanes (مواضع z للمسارات: -2 و0 و2)، وspawnEvery (1)، وcarSpeed (5).
- كل ضغطة على السهم للأعلى تجعل القافز يقفز وحدتين إلى الأمام (+z). وكل ضغطة على السهم للأسفل تجعله يقفز وحدتين إلى الخلف، لكن لا يعود أبدًا إلى ما وراء نقطة بدايته.
- كل
spawnEveryثانية، تظهر سيارة عند x = -9 وy = 0.5، في مسار عشوائي منlanes. تسير السيارات على طول +x بسرعةcarSpeedوحدة في الثانية، وتُدمَّر السيارة التي تتجاوز قيمة x فيها 9. - تصطدم السيارة بالقافز عندما يكون الفرق بين موضعي x أقل من 1.5، والفرق بين موضعي z أقل من 1. يسجّل الاصطدام
Hit!ويعيد القافز إلى نقطة بدايته. - عندما يصل القافز إلى z = 4، أي الجانب البعيد، سجّل
You made it!وأوقف النص البرمجي.
اضغط Play واعبر الطريق، ثم اضغط Check.
جرّب بنفسك
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;
void Start()
{
}
void Update()
{
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس أساسيات البرمجة النصية في Unity
1أول سكربت لك
مرحبًا يا Unityضع المكعبتحرّك في كل إطاراستدر كل ثانيةوجّه باستخدام المفاتيحمراجعة: قُد المكعب5التحويلات والتسلسل الهرمي
الآباء والأبناءالتحجيمالنظر إلى الأشياءالتحرك نحو نقطةمراجعة: القمر الدائر