Unity 3D : comment changer de scène ?
Aujourd’hui on va parler de l’un des concepts de base du software Unity 3D, logiciel qui permet de créer des jeux vidéo.
On va voir comment changer de scène.
C’est tout bête. Tout d’abord il faut créer un script C#, que je vas appeler par exemple ChangeScene.cs.
Première chose à faire c’est d’importer la classe SceneManagement :
using UnityEngine.SceneManagement;
Après cela on commence à construire notre script en créant une variable :
public string LevelToLoad;
On a presque fini. Ce qu’il reste à faire c’est d’écrire une fonction qui permet de charger le contenu de notre variable qu’on va insérer dans le GameObject. Pour cela on va utiliser la fonction LoadScene de la lbrairie SceneManager.
void LoadLevel() { SceneManager.LoadScene(LevelToLoad); }
Une fois fait cela, il faudra écrire le nom de la scène à modifier dans le champ vide du script qu’on va attacher au GameObject, dans mon cas “MainMenu” :
Ce qu’il reste à faire c’est de déclencher l’événement dans l’animation en allant dans “Animation” et en cliquant sur le petit bouton blanc “Add Event” sur la position souhaitée, par exemple :
Si, par contre, vous aimeriez mettre directement le nom de la scène dans votre script il suffirait de faire de cette façon :
void LoadMenu () { SceneManager.LoadScene("MainMenu"); }
Évidemment MainMenu est le nom d’une scène déjà créée.
Voici le script complet :
using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; public class ChangeScene : MonoBehaviour { public string LevelToLoad; void LoadMenu () { SceneManager.LoadScene("MainMenu"); } void LoadLevel() { SceneManager.LoadScene(LevelToLoad); } }
IMPORTANT : pour que ça marche, il faut que votre scène soit impérativement présente dans les Build Setting de votre jeu.
A vous de jouer !
Formations de Develop4fun
- Formation WordPress : le cours complet
- Parcours pour devenir un programmeur web
- Créez vos jeux avec UNITY3D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à créer des jeux 2D facilement avec LUA et LÖVE 2D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à programmer en C#
- Apprenez à programmer en C++
Étiquette :gamedev, Indie Gamedev, programmation jeux vidéo, Unity, Unity3D
4 Commentaires
ça marche pas
Bonjour. Malheureusement un simple “ça marche pas” ça nous aide pas à… vous aider 🙂
Quel est le souci?
ca dit :
Scene ‘GameOverScene’ couldn’t be loaded because it has not been added to the build settings or the AssetBundle has not been loaded.
Il suffit d’ajouter la scène dans les builds settings