مراجعة: زمن الرصاصة
جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 36 من 56.
التحدي
متوسطأضف إلى اللعبة تأثير إبطاء الوقت، مع مقياس للتركيز. اكتب BulletTime.cs على كائن Game. يضبط Inspector القيم slowScale (0.2) وmaxFocus (2) وrecharge (0.5) وfocusBar، وهي صورة Image المملوءة أعلى الشاشة. احتفظ بالمقياس في المتغير float focus.
- يبدأ
focusممتلئًا، عند القيمةmaxFocus. - أثناء الضغط على Space وبقاء
focusأعلى من 0، تعمل اللعبة عندslowScale، مع تقليص خطوة الفيزياء بالعامل نفسه انطلاقًا من 0.02، وينخفضfocusبمقدار 1 كل ثانية فعلية، ولا يقل أبدًا عن 0. - بقية الوقت، تعمل اللعبة بالسرعة العادية مع خطوة فيزياء مقدارها 0.02. ينهي المقياس الفارغ تأثير إبطاء الوقت حتى مع استمرار الضغط على Space.
- عند عدم الضغط على Space، يُعاد ملء
focusبمقدارrechargeكل ثانية فعلية، حتىmaxFocus. - في كل إطار، تكون قيمة
fillAmountللشريط هيfocusمقسومة علىmaxFocus.
اضغط Play، واستمر في الضغط على Space وراقب المطر، ثم اضغط Check.
جرّب بنفسك
using UnityEngine;
using UnityEngine.UI;
public class BulletTime : MonoBehaviour
{
public float slowScale = 0.2f;
public float maxFocus = 2f;
public float recharge = 0.5f;
public Image focusBar;
float focus;
void Update()
{
}
}
جميع دروس بناء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارالمنصات المتحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء بلا نهاية
ثلاثة مساراتعوائق أمامك