Sauver le vent
Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 26 sur 64.
Une version compilée charge chaque ressource telle qu’elle a été compilée à chaque démarrage ; le vent du joueur reviendrait donc à 2. PlayerPrefs le conserve, et Start le réécrit dans la ressource.
Défi
FacileConservez le vent du joueur pour la partie suivante.
- Dans
WindVane, chaque fois qu’une flèche modifie le vent, appelezPlayerPrefs.SetFloat("Wind", wind.strength);. - Dans
Start, avantShow(), siPlayerPrefs.HasKey("Wind"), définissezwind.strengthsurPlayerPrefs.GetFloat("Wind"). Un nouveau joueur conserve la valeur 2 de l’asset.
Appuyez sur « Jouer », modifiez le vent, appuyez sur « Stop », puis sur « Jouer » : le vent est le même. Ensuite, appuyez sur « Vérifier ».
Essayez vous-même
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;
}
}
Toutes les leçons de Architecture de jeu dans Unity
1Des composants, pas des hiérarchies
De petits composantsUn script de base pour les ennemisComposants abstraitsDes composants qui fonctionnent ensembleRécapitulatif : tourelle modulaireRécapitulatif : canon double4Données sérialisées
Classes sérialisablesListes dans l’InspecteurÉnumérations dans l’InspecteurRécapitulatif : table de butinRécapitulatif : tirer le butin2Les interfaces dans Unity
IDamageableInterfaces et TryGetComponentGetComponentsRécapitulatif : touche d’interactionLe plus proche à portée5ScriptableObjects
Ressources de donnéesStatistiques des armesParamètres partagésSauver le ventLes vagues comme donnéesRécapitulatif : base de données des objetsRécapitulatif : acheter dans la boutique3Événements
Les événements C# dans UnityS’abonner dans OnEnableChamps UnityEventLes événements pilotent l’interfaceRécapitulatif : fenêtre de succèsRécapitulatif : minuteur de la fenêtreEntraînez-vous par vous-même : Playground Unity