Menu
CoddyTech

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

جزء من قسم إنشاء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 37 من 60.

جمّد هذا الفصل وقت اللعبة وأبطأه وأعاد تشغيله. يجمع تأثير «زمن الرصاصة» هذه الأمور معًا: قيمة أصغر لـ Time.timeScale، وخطوة فيزيائية متوافقة معها، ومقياس يحسب الثواني الفعلية.

challenge icon

التحدي

متوسط

امنح اللعبة تأثير الزمن البطيء.

  1. في Update()، ما دام مفتاح المسافة مضغوطًا وfocus > 0f: اجعل مقياس الزمن slowScale، وخطوة الفيزياء 0.02f * slowScale، واستنزف focus بمقدار 1 لكل ثانية فعلية، من دون أن ينخفض عن 0.
  2. وإلا، فاجعل المقياس 1f والخطوة 0.02f؛ وعندما يكون مفتاح المسافة غير مضغوط، أعد شحن focus بمقدار recharge لكل ثانية فعلية، حتى maxFocus.
  3. ثم focusBar.fillAmount = focus / maxFocus;

اضغط «العب» مع الاستمرار في ضغط مفتاح المسافة: سيتباطأ المطر. ثم اضغط «تحقق».

جرّب بنفسك

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 Start()
    {
        focus = maxFocus;
    }

    void Update()
    {
        // تأثير الحركة البطيئة ما دام مفتاح Space مضغوطًا وتبقى قيمة من focus، والوقت الطبيعي خلاف ذلك، ثم تحديث الشريط
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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

تدرّب بنفسك: Playground لـ Unity