Menu
CoddyTech

Tekrar: Mermi Zamanı

Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 37 / 60.

Bu bölümde oyun zamanı donduruldu, yavaşlatıldı ve yeniden başlatıldı. Mermi zamanı bunları bir araya getirir: daha düşük bir Time.timeScale, buna uyumlu bir fizik adımı ve gerçek saniyeleri sayan bir gösterge.

challenge icon

Görev

Orta

Oyuna mermi zamanı ver.

  1. Update() içinde, Space basılıyken ve focus > 0f olduğunda: zaman ölçeği slowScale, fizik adımı 0.02f * slowScale olsun ve focus gerçek zamanlı olarak saniyede 1 azalacak şekilde 0'ın altına düşmesin.
  2. Aksi durumda ölçek 1f, adım 0.02f olsun; Space bırakıldığında focus, gerçek zamanlı olarak saniyede recharge kadar, en fazla maxFocus değerine kadar dolsun.
  3. Ardından focusBar.fillAmount = focus / maxFocus;

“Oyna” düğmesine bas ve Space tuşunu basılı tut: yağmur yavaşlar. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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 basılı tutulurken ve focus kaldığı sürece zamanı yavaşlat; aksi hâlde normal zamana dön, ardından çubuğu güncelle
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Gerçek Oyunlar Geliştirmek bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground