Récapitulatif : changement de système d’entrée
Fait partie de la section Créer de vrais jeux du Journey Unity de Coddy. Leçon 48 sur 60.
Ce chapitre a lu le clavier, la souris et les actions du projet avec l’Input System. La baguette à bulles utilise toujours l’ancienne classe Input : portez-la appel par appel.
Défi
MoyenAdapte la baguette à bulles au Input System ; l’ancienne classe Input provoque une erreur ici.
- Ajoute
using UnityEngine.InputSystem;et les champsInputActionmoveActionetjumpAction, initialisés dansStart()avecInputSystem.actions.FindAction. - Déplace-toi avec
moveAction.ReadValue<Vector2>(), dont le y correspond à l’axe z. - Remplace les tests de Jump par
WasPressedThisFrame(),IsPressed()etWasReleasedThisFrame(), et le clic parMouse.current.leftButton.wasPressedThisFrame.
Appuie sur « Jouer », gonfle une bulle et éclate-la. Puis clique sur « Vérifier ».
Essayez vous-même
using UnityEngine;
public class Wand : MonoBehaviour
{
public float speed = 4f;
public float growRate = 1f;
public float maxSize = 1.5f;
public GameObject bubblePrefab;
private Transform bubble;
void Update()
{
Vector3 move = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
transform.position += move.normalized * speed * Time.deltaTime;
if (Input.GetButtonDown("Jump"))
{
bubble = Instantiate(bubblePrefab, transform.position + Vector3.up * 1.5f, Quaternion.identity).transform;
}
if (Input.GetButton("Jump") && bubble != null)
{
float size = Mathf.Min(bubble.localScale.x + growRate * Time.deltaTime, maxSize);
bubble.localScale = Vector3.one * size;
}
if (Input.GetButtonUp("Jump") && bubble != null)
{
Debug.Log("Bubble: " + bubble.localScale.x.ToString("F1"));
bubble = null;
}
if (Input.GetMouseButtonDown(0))
{
GameObject[] bubbles = GameObject.FindGameObjectsWithTag("Bubble");
foreach (GameObject b in bubbles) Destroy(b);
Debug.Log("Popped " + bubbles.Length);
}
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Créer de vrais jeux
1Texte à l’écran
Canvas et texteAfficher le scoreFormater les nombresUn compte à reboursRécapitulatif : compteur de vitesse4Scènes et niveaux
Charger une scèneRedémarrer le niveauNiveau suivantConserver entre les scènesRécapitulatif : sélection du niveau2Boutons et écrans
Boutons et onClickLambdasRelier les éléments dans l’InspectorActiver et désactiver les panneauxBarres de santéRécapitulatif : boutique d’améliorations5Sauvegarder avec PlayerPrefs
Enregistrer un nombreCharger avec une valeur par défautMeilleur scoreEnregistrer les paramètresRécapitulatif : les pièces à la banque3Le gestionnaire du jeu
Un seul script gère le jeuLe SingletonLes états du jeuBasculer selon l’étatRécapitulatif : gestionnaire de manche6Projet : jeu de course sans fin
Trois voiesObstacles en vue9Le nouveau système d’entrée
Deux systèmes d’entréeClavier et sourisAppuyé pendant cette frameActions d’entréeRécapitulatif : changement de système d’entréeEntraînez-vous par vous-même : Playground Unity