Menu
CoddyTech

Tekrar: Mermi Zamanı

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

challenge icon

Görev

Orta

Oyuna bir odak ölçeriyle çalışan mermi zamanı ekle. Game nesnesine BulletTime.cs yaz. Inspector'da slowScale (0.2), maxFocus (2), recharge (0.5) ve ekranın üstündeki dolu Image olan focusBar ayarlanır. Ölçeri float türündeki focus değişkeninde tut.

  • focus başlangıçta doludur, yani maxFocus değerindedir.
  • Space basılı tutulurken ve focus 0'ın üzerindeyken oyun slowScale hızında çalışır; fizik adımı da 0.02 değerinden aynı katsayıyla küçültülür ve focus her gerçek saniyede 1 azalır, ancak hiçbir zaman 0'ın altına düşmez.
  • Geri kalan zamanlarda oyun normal hızda, fizik adımı 0.02 olacak şekilde çalışır. Ölçer boşaldığında, Space basılı tutulmaya devam etse bile mermi zamanı sona erer.
  • Space basılı değilken focus, her gerçek saniyede recharge kadar, maxFocus değerine ulaşana kadar dolar.
  • Her karede çubuğun fillAmount değeri, focus değerinin maxFocus değerine bölünmesidir.

Play'e bas, Space'i basılı tutup yağmuru izle, ardından Check'e 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 Update()
    {
    }
}

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