Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Les scripts

Base des scripts

Un script est un document écrit en langage informatique (C#) afin qu’il puisse être interprété par Unity. 

Il permet de créer ses propres composants, des mécaniques et systèmes de jeu personnalisés.

Par exemple : ajouter de la force à un objet, détruire un ennemi, ouvrir une porte etc.. 

    • Créer un Script : Pour en créer un : Clic droit dans la fenêtre Projet -> Create -> C# Script. Donnez lui un nom qui reflète le système que vous souhaitez créer. 
    • Ajouter un Script à un GameObject : En ayant sélectionné l’objet, Drag and drop le Script depuis la fenêtre Projet vers l’inspecteur OU ajouter le Script comme un composant

Lien vers la doc Unity : Script

Eléments essentiels du code informatique :

Les variables :

Elles permettent de déclarer des valeurs ou des composants. 

Dans notre exemple “ennemi” est un objet de type GameObject. Il est “public” car nous souhaitons qu’il apparaisse dans l’inspecteur.  Plusieurs types de variables existent : 

    • int : la variable est un nombre entier.
    • bool : la variable est soit true soit false.
    • float : la variable est un nombre à virgule. 
    • str : la variable est un morceau de texte.

Les composants peuvent également être des variables, quelques exemples : 

    • GameObject 
    • AudioSource 
    • RigidBody2D
    • ParticleSystem 

Les vecteurs peuvent également être des variables : Ils permettent de renseigner la Position de x, y, (Vector2) et de x,y,z (Vector3) et de la modifier si besoin (newVector = … )

Les fonctions :

Elles permettent de créer des comportements, en fonction de variables et de faire beaucoup d’autres choses !!

Les fonctions sont appelées à des moments précis comme la Start() ou la Update(), d’autres vont avoir des actions sur nos objets. On peut créer des fonctions selon les mécanismes que l’on veut créer. 

Dans notre exemple la fonction Destroy, va détruire le GameObject “platform” déclaré au dessus.

(Ne pas tenir compte du void devant les fonctions)

Les conditions

(If en anglais, si en français) Elles permettent de d’interroger le code. 

Dans notre exemple, la fonction ne s’exécutera que SI le tag de l’objet touché est “ennemi”.

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.

Glossaire du script en C# :

Using : En fonction de ce que contient le script, on peut rajouter des “librairies” qui permettent d’utiliser des fonctions spéciales. Par exemple using UnityEditor.SceneManagement permettra de contrôler tout ce qui concerne la gestion de scène. 

Les plus fréquents : 

    • using UnityEditor.SceneManagement : Gestion des Scènes (Transitions etc.. )
    • using UnityEditor.UI : Gestion de l’interface
    • using UnityEditor.Audio : Gestion de l’audio

 

Public class Test : MonoBehaviour : La class est ce qui délimite le script, attention le nom du script (ici “test”) doit avoir le même nom que le fichier du script qui apparaît dans le projet.

Public : (en bleu) Signifie que la variable sera accessible directement dans l’inspecteur. On crée toutes les variables publics en haut, avant la fonction Start() et on n’oublie pas de les remplir des objets correspondants dans l’inspecteur.

void Start() : Dès que le bouton Play est pressé, ce qui est dans la fonction Start(), se produit, une seule fois. 

void Update() : A chaque seconde, la fonction Update (Actualisation en français), exécute le code contenu dans sa fonction. 

GameObject (en vert et avec des majuscules) : Réfère au type de variable utilisée.

gameobject ( en blanc avec des minuscules) : nom de la variable. 

transform : position exacte de l’objet. 

Debug.Log(“…”) : Le Debug.Log nous permet de vérifier les bugs. Dans notre exemple on souhaite savoir si il y a bien eu une collision. Dans la console, le message orange et entre guillemet s’affichera.

Quelques fonctions amusantes pour jouer avec la physique d’Unity : 

rb.AddForce : Déclarez votre Rigidbody comme variable publique et donnez lui un nom, ici rb.

Dans la fonction Update, ajouter une condition : Si la touche UpArrow (flêche du haut) est pressée, AddForce à notre Rigidbody2D (que nous venons de nommer rb).