Les bases du C#
Cette page est de prĆ©fĆ©rence Ć consulter aprĆØs laĀ Fiche Ressources Objets et ComposantsĀ (mais nāhĆ©sites pas y revenir pour avoir des prĆ©cisions sur Composants, notamment concernant les diffĆ©rences entre les jeux 2D et 3D).
Ci-dessous le sommaire des tutos :
Quāest-ce quāun script?
Si tu veux contrĆ“ler ce qui se passe Ć lāĆ©cran, cāest souvent grĆ¢ce aux scripts que tu pourras! Avec les scripts, tu vas pouvoir prĆ©cisĆ©ment dĆ©finir le comportement de tes objets, dĆ©crire les rĆØgles du jeu et Ć©tablir des interactions entre les Ć©lĆ©ments de ta scĆØne! Bref, tu es le magicien, et le script est ton incantation!Ā
Prends-le comme étant un composant que tu vas pouvoir personnaliser avec du code!
Un script apparaĆ®tra de cette maniĆØre dans tes assets! Tu peux lāouvrir en double cliquant dessus, ce qui lāouvrira dans ton Ć©diteur de code (Visual Studio la plupart du temps, sauf si tu en as choisi un autre)
Comment crƩer un script
Voilà les différentes étapes pour ajouter un script à ton objet:
SĆ©lectionne lāobjet sur lequel tu veux ajouter ton script
Clique surĀ Add ComponentĀ puis surĀ New Script
Donne un nom pour le script! Le nom doit montrer clairement Ć quoi le script va te servir : MouvementJoueur, DetruireQuandCollision, CompteARebours, OrienterVersLaSouris etc… (Attention: jamais d’espace dans les noms de script!)
Une fois que tu as validĆ©, le script apparaĆ®t maintenant dans lāinspecteur en tant que composant de ton objet
il apparaƮt aussi dans le dossier racine de tes assets.
š”Ā Range tes affaires!
Ce que je recommande est de crĆ©er unĀ dossier ScriptsĀ pour y ranger tous tes scripts! Le premier souci du dĆ©veloppeur est dāavoir affaire Ć des assets mal rangĆ©s!Ā
Pour créer un nouveau dossier, fais Clic droit > Create > Folder! Tu peux ensuite y glisser ton nouveau script!
Tu peux aussi crĆ©er directement ton script dans ton dossier Clic droit > Create > C# Script , tu n’auras plus Ć le ranger par la suite !
La structure du code en C#
Unity utilise un langage de programmation appelĆ© C#. Tu peux ouvrir le contenu dāun script en double cliquant dessus. Cela ouvrira ton script dans ton Ć©diteur de code par dĆ©faut (Visual Studio si tu lāas installĆ© avec Unity).Ā
Voici le template par dĆ©faut de tout nouveau script que tu crĆ©es sur Unity:Ā
Les trois premiĆØres lignes servent juste Ć importer les fonctionnalitĆ©s habituellement utilisĆ©es dans un script. Ce nāest pas la peine dāy toucher pour le moment!Ā
Tout ton code sera contenu dans ce quāon appelle une classe! Ici, la classe sāappelle « monScript » mais bien Ć©videmment ce nom ne sera pas le mĆŖme en fonction du script que tu Ć©cris! Ce qui est important cāest que ce nom soit bien identique avec le nom du fichier! Sinon tu risquerais de recevoir une erreur similaire Ć celle-ci quand tu essaies dāajouter ton script Ć un objet:Ā
Cāest pourquoi on ne touche pas trop Ć la ligne « publicĀ classĀ monScript : MonoBehaviourĀ Ā»
Ce qui nous intéresse vraiment est ce qui se passe entre les deux { } de la classe! Tu peux voir deux méthodes qui sont là par défaut:
- Start
- Update
Start
void Start() : DĆØs que le bouton Play est pressĆ©, ce qui est dans la fonction Start(), se produit, une seule fois.Ā Cāest pourquoi cāest ici quāon met tous les codes dāinitialisation. (par exemple, dire que le joueur commence la partie avec 5 points de vie)
Cāest un peu lāĆ©quivalent du Bloc āQuand le drapeau vert est cliquĆ©ā de Scratch pour ceux qui connaissent.
Update
void Update() : qui sāeffectue Ć chaque frame (FPS, depend de la vitesse du PC mais en general au moins 1/6Oe de seconde), la fonction Update (Actualisation en franƧais), exĆ©cute le code contenu dans sa fonction. Cāest gĆ©nĆ©ralement dans le update que se situe le cÅur du jeu. Le update reprĆ©sente ce qui se passe pendant que le jeu est toujours en train dāĆŖtre jouĆ©. Cāest donc lĆ quāon va gĆ©nĆ©ralement coder les actions du joueur, le comportement des ennemis, la mise Ć jour du scoreā¦etc.
Cāest un peu lāĆ©quivalent du Bloc āRĆ©pĆ©ter indĆ©finimentā de Scratch pour ceux qui connaissent.
Astuce : Le mot void signifie que tu crée une fonction, penses à le laisser devant ta fonction.
Les rĆØgles de lāĆ©criture en C# :
Unity interprète toujours le code en C# du haut vers le bas. Il convient donc de bien séparer les blocs de code, ainsi que les lignes entre elles.
En fonction de lāĆ©lĆ©ment et de sa place, les sĆ©parateurs seront diffĆ©rents. Les couleurs permettent de diffĆ©rencier la nature des diffĆ©rents Ć©lĆ©ments.
3 Ć©lĆ©ments de āgrammaireā importants :
- { }Ā : Brackets (Accolades). Elles encadrent tout le code et sĆ©parent une fonction dāune autre ou une condition dāune autre.
- Ā ;Ā : Point-Virgule. Il permet de clore la dĆ©claration dāune variable ou lāappel dāune fonction.
( )Ā : ParenthĆØses. Elles permettent de dĆ©signer lāobjet ou la variable concernĆ©e par la fonction.
Les conditions :
(If en anglais, si en franƧais) Elles permettent dāinterroger le code.Ā
- On utilise le mot clĆ© āifā ( = si)
- On note entre parenthĆØse la condition
- On ouvre (et ferme) des accolades et on note entre les accolades le code Ć faire si la condition est vraie
- Ā
Nāoublie pas de mettre des point-virgules Ć la fin de chaque ligne et fermer tes accolades !
Par exemple, je peux créer une variable de vie pour un GameObject et si ma variable de vie est égale à 0, je détruis mon GameObject :
Debug.Log (ou print)
Debug.Log(āā¦ā) : Le Debug.Log nous permet de vĆ©rifier les bugs. (on peut aussi utiliser print qui marche pareil et fera la mĆŖme chose. Debug.log est plus propre et considerĆ© plus « proĀ Ā»)
Dans mon exemple une musique est supposé se jouer. Mais aucune musique ne se lance. Ainsi en mettant un message à cet endroit là , il y a deux constat à faire :
- Soit le message sāaffiche, et Ƨa veut dire que la collision avec lāennemi sāeffectue bien et quāil y a un problĆØme aprĆØs le Debug.log !
- Soit le message ne sāaffiche pas et le problĆØme est avant le Debug.log sans doute au niveau de la collision qui ne sāeffectue pas correctement !
Ou sāaffiche ce message ?
Dans la console ! La console est situé par défaut à cÓté du dossier Projet.
Ā
Astuce :
Tu peux cliquer sur le boutonĀ CollapseĀ pour eviter que les message rĆ©current nāapparaissent trop de fois.
