Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراجعة: زمن الرصاصة

جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 36 من 56.

challenge icon

التحدي

متوسط

أضف إلى اللعبة تأثير إبطاء الوقت، مع مقياس للتركيز. اكتب 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()
    {
    }
}

جميع دروس بناء ألعاب حقيقية