Mohamed Amine MEZGHICH
Ing nieur ENSI
Doctorant en traitement dimage, Lab. CRISTAL,ENSI
E-mail:[email protected]
Cycle Ing nieur
Ann e universitaire 2012-2013
1
(cid:1) Dans chapitre vous allez voir comment cr er une sc ne distincte de la sc ne
de l le qui servira de menu. Plusieurs m thodes existent pour concevoir
des menus dans Unity, qui combinent des comportements int gr s et des
textures 2D.
(cid:1) Au cours de ce chapitre, vous apprendrez :
(cid:1) Concevoir une interface de deux mani res diff rentes ;
Concevoir une interface de deux mani res diff rentes ;
(cid:1) Contr ler les composants GUI Texture avec des v nements souris
script s ;
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
(cid:1) R diger un script simple UnityGUI ;
(cid:1) Param trer les ressources GUI skin ;
(cid:1) Charger les sc nes, les menus et le niveau de jeu.
Ann e universitaire 2012-2013
2
(cid:1) Vous d couvrirez deux m thodes pour ajouter des menus interactifs :
(cid:1) M thode 1 : composants GUI Texture et contr le des v nements souris
par le script. Cette m thode consiste cr er des objets GUI Texture
puis g rer laffichage de leurs textures laide de scripts bas s sur
les v nements souris survol du menu, clic, bouton rel ch . Elle
les v nements souris survol du menu, clic, bouton rel ch . Elle
n cessite moins de code pour cr er les boutons eux-m mes, mais
toutes les actions doivent tre contr l es par des scripts.
(cid:1) M thode 2 : classe UnityGUI et ressources GUI skin. Avec cette
la totalit du menu est cr e laide de scripts,
m thode,
contrairement la pr c dente dans laquelle on cr e des objets de
jeu.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
3
(cid:1) Vous d couvrirez deux m thodes pour ajouter des menus interactifs :
(cid:1) M thode 1 : composants GUI Texture et contr le des v nements souris
par le script. Cette m thode consiste cr er des objets GUI Texture
puis g rer laffichage de leurs textures laide de scripts bas s sur
les v nements souris survol du menu, clic, bouton rel ch . Elle
les v nements souris survol du menu, clic, bouton rel ch . Elle
n cessite moins de code pour cr er les boutons eux-m mes, mais
toutes les actions doivent tre contr l es par des scripts.
(cid:1) M thode 2 : classe UnityGUI et ressources GUI skin. Avec cette
la totalit du menu est cr e laide de scripts,
m thode,
contrairement la pr c dente dans laquelle on cr e des objets de
jeu.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
4
(cid:1) D compressez si n cessaire le fichier nomm Menu.unitypackage puis
revenez dans Unity. Cliquez sur Assets > Import package, parcourez
votre disque dur jusqu lemplacement de ces ressources et importez-
les.
(cid:1) Une fois limportation termin e, un dossier Menu saffiche dans le
panneau Project. Il contient les l ments suivants :
panneau Project. Il contient les l ments suivants :
(cid:1) Des textures pour le menu principal du jeu et trois boutons
: Play,
Instructions et Quit ;
(cid:1) Une s quence audio (un bip pour les boutons de linterface).
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
5
(cid:1) D compressez si n cessaire le fichier nomm Menu.unitypackage puis
revenez dans Unity. Cliquez sur Assets > Import package, parcourez
votre disque dur jusqu lemplacement de ces ressources et importez-
les.
(cid:1) Une fois limportation termin e, un dossier Menu saffiche dans le
panneau Project. Il contient les l ments suivants :
panneau Project. Il contient les l ments suivants :
(cid:1) Des textures pour le menu principal du jeu et trois boutons
: Play,
Instructions et Quit ;
(cid:1) Une s quence audio (un bip pour les boutons de linterface).
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
6
(cid:1) cette section, vous utiliserez l le elle-m me comme toile de fond de vos
menus afin de donner aux joueurs un avant-go t de lenvironnement
quils exploreront et de fixer le cadre visuel du jeu.
(cid:1) Vous allez dupliquer l le existante, lafficher en pla ant une cam ra une
certaine distance, puis vous superposerez des l ments dinterface 2D en
certaine distance, puis vous superposerez des l ments dinterface 2D en
utilisant les deux m thodes que nous avons mentionn es au d but de ce
chapitre.
Cr er la sc ne
Pour ces menus, lenvironnement insulaire que vous avez cr va vous servir.
En pla ant l le larri re-plan dans le menu, vous veillerez la curiosit
du joueur en lui pr sentant lenvironnement quil pourra explorer lors du
lancement de la partie.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
7
Dupliquer l le
Pour commencer, vous r utiliserez la sc ne actuelle (Island Level) que vous
avez cr e aux chapitres pr c dents. Pour faciliter la gestion des
cet
l ments,
environnement afin de les distinguer des objets dont vous navez pas
environnement afin de les distinguer des objets dont vous navez pas
besoin, comme lavant-poste et les piles.
essentielles de
regrouperez
ressources
vous
les
De cette fa on, il vous suffira ensuite de tout supprimer lexception du
groupe que vous allez cr er dans la copie du niveau. Il est aussi facile de
regrouper des l ments dans Unity que dimbriquer des objets enfants
dans un objet parent vide.
Ann e universitaire 2012-2013
8
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
Publicité
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Regrouper les objets de lenvironnement
Cliquez sur GameObject > Create Empty. Un nouvel objet nomm
GameObject est alors cr .
Renommez-le Environment. Dans le panneau Hierarchy, faites glisser les
objets Directional Light, Daylight Simple Water et Terrain sur lobjet vide
Environment.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Vous tes maintenant pr ts dupliquer ce niveau pour cr er le menu dans
une sc ne distincte.
Ann e universitaire 2012-2013
9
Dupliquer la sc ne
Suivez les tapes suivantes pour dupliquer la sc ne :
1. Cliquez sur File > Save Scene pour vous assurer que la sc ne Island Level est
enregistr e, puis s lectionnez la ressource Island Level dans le panneau Project.
2. Cliquez sur Edit > Duplicate ou utilisez les raccourcis clavier Cmd/Ctrl+D. Lors
de la duplication, Unity ajoute simplement un num ro au nom de lobjet ou de la
ressource, si bien que cette copie est baptis e Island Level 1. Assurez-vous quelle est
s lectionn e dans le panneau Project puis renommez-la Menu.
3. Double-cliquez sur cette sc ne dans le panneau Project pour la charger et commencer
la modifier.
4. La sc ne Menu tant ouverte, vous pouvez maintenant supprimer tous les objets
inutiles. Appuyez sur Cmd/Ctrl puis cliquez sur tous les objets dans le panneau
Hierarchy lexception du groupe Environment pour les s lectionner.
5. Supprimer ces objets de cette sc ne.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
10
Dupliquer la sc ne(suite)
Vous devez ajouter une nouvelle cam ra dans la sc ne, car la seule cam ra
existante tait celle attach e lobjet First Person Controller. Il ny a donc
aucune cam ra dans la sc ne actuelle, rien qui permette de visualiser le
monde 3D, si bien que le point de vue dans le panneau Game est
monde 3D, si bien que le point de vue dans le panneau Game est
maintenant compl tement vide.
Pour cr er une cam ra, cliquez sur GameObject > Create Other >
Camera. Assurez-vous que ce nouvel objet Camera est s lectionn dans
le panneau Hierarchy, puis entrez les valeurs de Position suivantes dans le
composant Transform du panneau Inspector : (150, 250, 650).
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
11
Ajouter le titre
Maintenant, vous avez besoin dun logo pour le jeu. Le plus simple consiste
partir dune texture que vous avez con ue et la d finir comme un objet
GUI Texture dans Unity.
S lectionnez la texture MainTitle dans le dossier Menu du panneau
Project. Cette texture toujours s lectionn e, cliquez sur GameObject >
Create Other > GUI Texture pour cr er un nouvel objet GUI Texture bas
sur cette texture. Nous lavons d j vu, les dimensions de la texture
s lectionn e sont automatiquement d finies. Un nouvel objet, MainTitle,
saffiche dans le panneau Hierarchy
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
12
Ajouter le titre(suite)
Par d faut, tous les objets GUI Texturese placent (0.5, 0.5, 0), ce qui
correspond au milieu de l cran. On se souvient que les l ments 2D
utilisent les coordonn es de l cran comprises entre 0 et 1.
D finissez la position de lobjet MainTitle (0.5, 0.8, 0) dans le composant
D finissez la position de lobjet MainTitle (0.5, 0.8, 0) dans le composant
Transform du panneau Inspector pour placer le logo du titre principal du
jeu en haut et au centre de l cran.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Maintenant, vous allez ajouter trois boutons laide dobjets GUI Texture
suppl mentaires.
Ann e universitaire 2012-2013
13
Avec cette premi re m thode, vous cr erez un menu avec une texture de
fond transparente comme GUI Texture, de la m me mani re que vous
venez de le faire avec le logo du titre principal.
Vous aurez ensuite besoin d crire un script afin que la texture puisse
recevoir les v nements souris (lorsque le curseur survole ou quitte le
bouton et lorsque le joueur clique ou rel che le bouton de la souris).
bouton et lorsque le joueur clique ou rel che le bouton de la souris).
Ajouter le bouton Play/Jouer
S lectionnez la texture PlayBtn dans le dossier Menu du panneau Project,
puis cliquez sur GameObject > Create Other > GUI Texture. S lectionnez
lobjet PlayBtn que vous venez de cr er dans le panneau Hierarchy et
r glez sa position dans le composant Transform du panneau Inspector
(0.5, 0.6, 0).
Ann e universitaire 2012-2013
14
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Le script du bouton GUI Texture
Comme il sagit du premier des trois boutons que vous allez cr er et quils
auront tous des fonctions en commun, ce script pourra tre utilis pour
les trois boutons. Pour cela, vous choisirez des variables publiques pour
d finir les diff rents param tres. Ainsi, chaque bouton doit :
(cid:1) lancer la lecture dun son lors du clic ;
(cid:1) charger un autre niveau (ou une sc ne, selon la terminologie de Unity)
lors du clic ;
(cid:1) changer de texture lorsque la souris le survole pour tre mis en
vidence.
Ann e universitaire 2012-2013
15
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
Publicité
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Le script du bouton GUI Texture(suite)
S lectionnez le dossier Scripts dans le panneau Project, cliquez sur le
bouton Create et s lectionnez JavaScript dans le menu d roulant.
Renommez le script MainMenuBtns, puis double-cliquez sur son ic ne
pour louvrir dans l diteur de script. Commencez par d clarer les quatre
variables publiques suivantes au d but du script :
variables publiques suivantes au d but du script :
var levelToLoad : String;
var normalTexture : Texture2D;
var rollOverTexture : Texture2D;
var beep : AudioClip;
Ann e universitaire 2012-2013
16
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Le script du bouton GUI Texture(suite)
S lectionnez lobjet PlayBtn dans le panneau Hierarchy, puis cliquez sur
Component > Scripts > Main Menu Btns pour lui appliquer le script que
vous venez d crire (voir script). Le script doit alors appara tre sur la liste
des composants de lobjet PlayBtn dans le panneau Inspector. En raison
de la ligne Require Component,
lobjet dispose galement dun
lobjet dispose galement dun
de la ligne Require Component,
composant Audio Source.
Assigner des variables publiques
Les variables publiques doivent tre assign es avant que le script ne puisse
fonctionner. Entrez le nom Island Level dans le champ de la variable
Level To Load, afin que ce niveau se charge lorsquon clique sur le bouton.
Faites ensuite glisser les textures PlayBtn et PlayBtnOver depuis le
dossier Menu du panneau Project sur les variables Normal Texture et Roll
Over Texture respectivement. Enfin, faites glisser la s quence audio
menu_beep du m me dossier sur la variable Beep.
17
Ann e universitaire 2012-2013
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Tester le bouton
Cliquez maintenant sur le bouton. Le message suivant saffiche alors dans la
console derreur au bas de l cran :
Level Island Level couldnt be loaded because it is not added to the build
settings (Le niveau Island Level na pas pu tre charg car il nest pas
ajout aux param tres Build).
ajout aux param tres Build).
la section Scenes to build du panneau Build Settings, cliquez sur le
bouton Add Current pour ajouter la sc ne Menu sur laquelle vous
travaillez actuellement. Lordre des sc nes sur la liste, repr sent par le
nombre droite du nom de la sc ne, indique lordre dans lequel ces
sc nes appara tront dans le jeu.
Vous devez vous assurer que la premi re sc ne qui se chargera sera toujours
en position 0.Faites glisser la sc ne Island Level du panneau Project sur la
liste actuelle des sc nes du panneau Build Settings afin quelle apparaisse
sous la sc ne Menu.unity
18
Ann e universitaire 2012-2013
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ajouter le bouton des instructions
Pour ajouter le deuxi me bouton, il vous suffit de s lectionner la texture
InstructionsBtn dans le dossier Menu du panneau Project puis de cliquer
sur GameObject > Create Other > GUI Texture. Un deuxi me objet
nomm InstructionsBtn est cr dans le panneau Hierarchy. D finissez sa
position (0.5, 0.5, 0) dans le composant Transform du panneau
position (0.5, 0.5, 0) dans le composant Transform du panneau
Inspector.
Comme vous avez d j crit le script n cessaire, cliquez simplement sur
Component > Scripts > Main Menu Btns pour lajouter ce bouton, puis
assignez les textures appropri es et la s quence audio menu_beep de la
m me mani re que vous lavez fait pour le bouton pr c dent. La sc ne
que ce bouton permettra de charger nest pas encore cr e, aussi entrez
Instructions pour la variable levelToLoad
Ann e universitaire 2012-2013
19
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ajouter le bouton Quit/Quitter
Ce bouton fonctionne de mani re analogue aux deux premiers, mais il ne
charge pas de sc ne. Au contraire, il appelle la classe Application et utilise
la commande Quit() pour fermer le jeu, comme les boutons permettant
de quitter une application sur un syst me dexploitation.
Vous devez par cons quent modifier le script MainMenuBtns pour tenir
compte de cette diff rence.
Commencez par ajouter la variable bool enne publique suivante au d but
du script :
var QuitButton : boolean = false;
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
20
Ajouter le bouton Quit/Quitter (suite)
Vous devez restructurer la fonction OnMouseUp() avec une instruction if
else, comme le montre lextrait de code suivant :
function OnMouseUp(){
audio.PlayOneShot(beep);
yield new WaitForSeconds(0.35);
if(QuitButton){
Application.Quit();
}
else{
Application.LoadLevel(levelToLoad);
}
}
Ann e universitaire 2012-2013
21
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ajouter le bouton Quit/Quitter (suite)
S lectionnez la texture QuitBtn dans le dossier Menu du panneau Project
puis cliquez sur GameObject > Create Other > GUI Texture pour cr er
un objet nomm QuitBtn dans le panneau Hierarchy. D finissez ensuite
sa position (0.5, 0.4, 0) dans le composant Transform du panneau
Inspector.
Inspector.
Lobjet QuitBtn tant toujours s lectionn dans le panneau Hierarchy,
cliquez sur Component > Scripts > Main Menu Btns pour lui attacher le
script. D finissez ensuite les valeurs des variables publiques dans le
panneau Inspector comme pr c demment, en laissant vide le champ de
la variable level To Load, puis activez loption de la nouvelle variable Quit
Button.
i
i
M
M
o
o
h
h
Publicité
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
22
D sactiver les Game Objects
S lectionnez lobjet PlayBtndans le panneau Hierarchy, puis d cochez la
case situ e gauche de son nom dans le panneau Inspector pour le
d sactiver.
R p tez ensuite lop ration pour les objets InstructionsBtn et QuitBtn.
Assurez-vous que le nom de chacun de ces objets saffiche en gris clair dans
le panneau Hierarchy et quils ont disparu dans laper u du panneau
Game.
R diger un script OnGUI()pour un menu simple
Cliquez sur GameObject > Create Empty pour cr er un objet vide
GameObject dans le panneau Hierarchy.
Renommez simplement lobjet Menu2.
Ann e universitaire 2012-2013
23
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
R diger un script OnGUI()pour un menu simple(suite)
S lectionnez le dossier Scripts dans le panneau Project, cliquez sur le
ce script
bouton Create puis
MainMenuGUI2 puis double-cliquez sur son ic ne pour louvrir dans
l diteur de script.
choisissez JavaScript. Renommez
Les classes GUI et GUI Layout
Les classes GUI et GUI Layout
Pour cet exemple, vous emploierez la classe GUI Layout de Unity, car elle
dispose de plus doptions de positionnement que la classe GUI, dont la
position est fixe.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
De nombreux d veloppeurs pr f rent la classe GUI Layout car elle dispose
automatiquement les l ments comme les formulaires et les boutons, les
uns en dessous des autres. (voir Script: MainMenuGUI2.js)
Ann e universitaire 2012-2013
24
Le positionnement flexible des interfaces graphiques
Utiliser la commande BeginArea() et pr ciser quatre param tres :
GUILayout.BeginArea(Rect(distance depuis la gauche de l cran, distance
depuis le haut de l' cran, largeur, hauteur));
La commande Rect() d finit la zone rectangulaire quutilisera la commande
BeginArea().
BeginArea().
Le dessin de la zone doit galement tre ferm laide de la commande
EndArea()
Cela marquant la fin du trac de la zone, tout le code de linterface
graphique doit se trouver avant cette ligne dans la fonction. Ins rez
plusieurs lignes apr s la commande BeginArea(),puis ajoutez la ligne
suivante pour terminer le trac de linterface graphique :
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
GUILayout.EndArea();
Ann e universitaire 2012-2013
25
Ajouter des boutons UnityGUI
Pour cr er le premier bouton, ajoutez les lignes suivantes avant la ligne
EndArea() :
if(GUILayout.Button ("Play")){
OpenLevel("Island Level");
}
}
Un nouveau bouton GUILayout.Button est r alis sur lequel est inscrit le
mot Play. En pla ant cette instruction dans une condition if, le script cr e
non seulement le bouton mais indique galement Unity laction
effectuer lorsquon clique dessus. Cette instruction appelle une fonction
personnalis e nomm e OpenLevel() poss dant un seul param tre : le
nom du niveau. Vous crirez la fonction OpenLevel() une fois la fonction
OnGUI() compl t e.
Ann e universitaire 2012-2013
26
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ajouter des boutons UnityGUI
Ajoutez ensuite les deux conditions suivantes pour cr er les deux autres
boutons :
if(GUILayout.Button ("Instructions")){
OpenLevel("Instructions");
}
if(GUILayout.Button ("Quit")){
Application.Quit();
}
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
27
Lancer des sc nes laide de fonctions personnalis es
Ajoutez ensuite les deux conditions suivantes pour cr er les deux autres
boutons :
if(GUILayout.Button ("Instructions")){
OpenLevel("Instructions");
}
if(GUILayout.Button ("Quit")){
Application.Quit();
}
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
28
Lancer des sc nes laide de fonctions personnalis es
function OpenLevel(level : String)
{
{
}
audio.PlayOneShot(beep);
yield new WaitForSeconds(0.35);
Application.LoadLevel(level);
i
i
M
M
o
Publicité
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Ann e universitaire 2012-2013
29
Appliquer le script et modifier lapparence du menu
De retour dans Unity, s lectionnez lobjet de jeu vide Menu2 dans le
panneau Hierarchy, puis cliquez sur Component > Scripts > Main Menu
GUI2 pour ajouter ce script cet objet.
Faites glisser la s quence audio menu_beep depuis le dossier Menu dans le
Faites glisser la s quence audio menu_beep depuis le dossier Menu dans le
panneau Project sur la variable publique Beep de ce script dans le
panneau Inspector. Donnez ensuite une valeur de 200 aux param tres
Area Width et Area Height.
Vous allez appliquer un style votre interface graphique pour am liorer son
apparence laide des ressources GUI skins.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Pour cela, une ressource GUI skin doit tre assign e la variable menuSkin.
S lectionnez le dossier Menu dans le panneau Project, puis cliquez sur le
bouton Create et s lectionnez GUI Skin dans le menu d roulant.
Renommez MainMenu la nouvelle ressource New GUISkin.
Ann e universitaire 2012-2013
30
Les param tres de lobjet GUI Skin
De retour dans Unity, s lectionnez lobjet de jeu vide Menu2 dans le
panneau Hierarchy, puis cliquez sur Component > Scripts > Main Menu
GUI2 pour ajouter ce script cet objet.
Faites glisser la s quence audio menu_beep depuis le dossier Menu dans le
Faites glisser la s quence audio menu_beep depuis le dossier Menu dans le
panneau Project sur la variable publique Beep de ce script dans le
panneau Inspector. Donnez ensuite une valeur de 200 aux param tres
Area Width et Area Height.
Cliquez sur le bouton Play pour afficher le menu. Comme la classe GUI est
compil e partir dun script, son rendu seffectue uniquement lorsque le
jeu est test . Laspect du menu que vous venez de cr er avec le script est
un peu terne.
Ann e universitaire 2012-2013
31
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Les param tres de lobjet GUI Skin
Vous allez donc lui appliquer un style pour am liorer son apparence laide
des ressources GUI skins.
Pour cela, une ressource GUI skin doit tre assign e la variable menuSkin.
S lectionnez le dossier Menu dans le panneau Project, puis cliquez sur le
S lectionnez le dossier Menu dans le panneau Project, puis cliquez sur le
bouton Createet s lection-nez GUI Skindans le menu d roulant.
Renommez MainMenula nouvelle ressource New GUISkin.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Les objets GUI Skins poss dent des param tres pour chaque l ment de la
classe GUI :
Boxes(bo tes) ;
Buttons(boutons) ;
Etc..
Ann e universitaire 2012-2013
32
Les param tres de lobjet GUI Skin
Le premier param tre Font(police) est commun tous les l ments r gis
par le th me (skin). Pour commencer, s lectionnez la police utilis e dans
le jeu (la police Sugo si vous avez pris la m me que nous) dans le panneau
Project et d posez-la sur ce param tre.
Ce th me (skin) va vous servir d finir le style des l ments boutons.
Cliquez sur la fl che grise gauche de l l ment Button du composant
GUISkin dans le panneau Inspector pour afficher ses param tres.
Maintenant que vous avez ajust ces param tres, vous tes pr t les
appliquer au script GUI. S lectionnez lobjet Menu2 dans le panneau
Hierarchy, puis faites glisser lobjet MainMenu depuis le panneau Project
sur la variable publique Menuskin dans le composant Main Menu
GUI2.
33
Ann e universitaire 2012-2013
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Les param tres de lobjet GUI Skin
Cliquez sur le bouton Play pour v rifier que le skin a t appliqu et pour
afficher le rendu du script GUI.
Le menu a maintenant un aspect plus professionnel et il sint gre mieux au
logo du jeu car sa police est la m me que celle du jeu.
logo du jeu car sa police est la m me que celle du jeu.
Cest maintenant votre tour de faire preuve de cr ativit ! Choisissez la
m thode et le r sultat que vous pr f rez. partir de ce que vous avez
appris la section "D sactiver les Game Objects" de ce chapitre, vous
pouvez choisir la deuxi me m thode et laisser les trois objets de jeu GUI
Texture d sactiv s, ou d sactiver Menu 2et r activer ces objets en cochant
leurs cases dans le panneau Inspector.
Ann e universitaire 2012-2013
34
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Conclusion
Nous venons d tudier les deux principales m thodes de cr ation des
l ments dinterface dans Unity : les scripts GUI et les GUI Texture. Vous
devriez maintenant savoir comment
impl menter lune ou lautre
m thode pour r aliser des interfaces.
Nous navons abord ici que les notions essentielles dont vous aurez besoin
chaque fois que vous crirez un script GUI, mais cette m thode offre
beaucoup plus de possibilit s.
i
i
M
M
o
o
h
h
a
a
m
m
e
e
d
d
A
A
m
m
n
n
e
e
M
M
E
E
Z
Z
G
G
H
H
I
I
C
C
H
H
Il vous reste encore cr er la sc ne Instructions contenant des informations
destin es au joueur. Ne vous inqui tez pas, vous allez le faire au prochain
chapitre en d couvrant de nouvelles techniques danimation, tout en
apportant certaines retouches au jeu lui-m me.
Ann e universitaire 2012-2013
35