سباق مع الزمن
جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 55 من 56.
سباق ضد الزمن عبر حديقة. يبدأ العداء من أحد الطرفين، والوقت المتاح عشر ثوانٍ، وعليه الوصول إلى الهدف الأبيض في الطرف البعيد، مرورًا حول سياج نباتي، قبل نفاد الوقت. تمنح الساعات الذهبية على الطريق بضع ثوانٍ إضافية في كل مرة. عندما يوشك الوقت على النفاد، تتحول الساعة إلى اللون الأحمر؛ وعندما ينفد، يبدأ المسار من جديد. إذا وصلت إلى الهدف في الوقت المحدد، تنتقل اللعبة إلى مشهد Finish.
اكتب نصين برمجيين: Runner على العداء، وهو CharacterController، وRace على كائن Race.
التحدي
صعبيحتوي البناء على مشهدين، Track وFinish. في المسار، تحمل الساعات الوسم Clock، ويحمل الهدف الوسم Goal؛ وكلاهما من نوع المحفّزات.
تُعيّن نافذة Inspector لـRunner القيم speed (6)، وgravity (-9.81)، وrace (سكربت Race).
- يشغّل إجراء Move في المشروع العداء بسرعة
speedوحدة في الثانية: يمينًا ويسارًا على طول المحور x، وأعلى وأسفل على طول المحور z. يسقط بفعلgravityولا يتحرك إلا باستخدامcontroller.Move، لذا يوقفه السياج. - يستهلك الاصطدام بساعةٍ إياها ويمنح السباق وقتها الإضافي. وينهي الاصطدام بالهدف السباق.
تُعيّن نافذة Inspector لـRace القيم timeLimit (10)، وbonus (3)، وtimeText.
- يبدأ الوقت المتبقي عند
timeLimitوينقص بمقدار الوقت الفعلي المنقضي. يعرضtimeTextالوقت بمنزلة عشرية واحدة، مثلTime: 7.4، باللون الأبيض، وباللون الأحمر (Color.red) عندما يتبقى أقل من 3 ثوانٍ. - تضيف كل ساعة
bonusثانية. - عندما يصل الوقت إلى 0، سجّل
Time's up!وحمّل المسار مجددًا من البداية. - عند إنهاء السباق قبل نفاد الوقت، سجّل الوقت المتبقي، مثل
Finished with 4.2 s left، وحمّل مشهد Finish.
اضغط تشغيل وتغلّب على الوقت، ثم تحقّق.
جرّب بنفسك
using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;
public class Race : MonoBehaviour
{
public float timeLimit = 10f;
public float bonus = 3f;
public TMP_Text timeText;
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس بناء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارالمنصات المتحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء بلا نهاية
ثلاثة مساراتعوائق أمامك