Ocal wiatr
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 26 z 64.
Przy każdym uruchomieniu kompilacja wczytuje wszystkie zasoby w takim stanie, w jakim zostały utworzone, więc wiatr gracza znów wynosiłby 2. PlayerPrefs zachowuje tę wartość, a Start zapisuje ją z powrotem do zasobu.
Wyzwanie
ŁatwyZachowaj wiatr gracza na następną grę.
- W
WindVane, za każdym razem gdy strzałka zmienia wiatr, wywołajPlayerPrefs.SetFloat("Wind", wind.strength);. - W
Start, przedShow(), jeśliPlayerPrefs.HasKey("Wind"), ustawwind.strengthnaPlayerPrefs.GetFloat("Wind"). Nowy gracz zachowuje wartość 2 z zasobu.
Naciśnij „Graj”, zmień wiatr, naciśnij Stop, a następnie „Graj”: wiatr jest taki sam. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;
public class WindVane : MonoBehaviour
{
public TMP_Text windText;
public WindSettings wind;
void Start()
{
Show();
}
void Update()
{
if (Keyboard.current.upArrowKey.wasPressedThisFrame)
{
wind.strength = Mathf.Min(wind.strength + 1f, 5f);
Show();
}
if (Keyboard.current.downArrowKey.wasPressedThisFrame)
{
wind.strength = Mathf.Max(wind.strength - 1f, 0f);
Show();
}
}
void Show()
{
windText.text = "Wind: " + wind.strength;
}
}
Wszystkie lekcje w sekcji Architektura gier w Unity
1Komponenty, nie hierarchie
Małe komponentyBazowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPowtórka: modułowa wieżyczkaPowtórka: podwójne działo4Dane serializowane
Klasy serializowalneListy w InspectorzeEnumy w InspectorzePodsumowanie: tabela łupówPodsumowanie: losowanie łupów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPowtórka: klawisz interakcjiPowtórka: najbliższy w zasięgu5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaOcal wiatrFale jako danePowtórka: Baza przedmiotówPowtórka: Kupowanie w sklepie8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearestPoćwicz samodzielnie: Edytor online Unity