Étape 13 : Système de HUD et Menu
Nous allons ajouter des boutons reprendre, redémarrer et Quit ainsi que quelque chose nous dit combien la santé est à gauche.
Ajouter ces deux fonctions pour le script de Menu :
functionDrawHUD() {}
Bénéficiez de la santé du joueur
varplayer=GameObject.Find("Player") ;
varhealth = joueur. GetComponent(Player). Santé ;Position
varleft = 10 ;
Vartop = 10 ;
varwidth = 100 ;
varheight = 25 ;
Faire un fond de boîte
INTERFACE GRAPHIQUE. Boîte (Rect (gauche, haut, largeur, hauteur), "la santé:" + santé) ;
DrawCrosshair() ;
}Dessiner le menu
{functionDrawMenu()}
varcenterX=Screen.width/2 ;
varcenterY=Screen.height/2 ;
emplacement du menu
varmenuLeft = centerX-50 ;
varmenuTop = centerY-50 ;
varmenuWidth = 100 ;
varmenuHeight = 100 ;
varbuttonX = menuLeft + 10 ;
varbuttonWidth = 80 ;
varbuttonHeight = 20 ;
varbuttonDist = 25; / / distance entre chaque bouton
Faire un fond de boîte
INTERFACE GRAPHIQUE. Box(Rect(menuLeft,menuTop,menuWidth,menuHeight),"menu") ;
Commencer / continuer
if(GUI. {Button(Rect(buttonX,menuTop+1*buttonDist,buttonWidth,buttonHeight),"RESUME"))}
MenuOpen = false ;
UpdateCursorLock() ;
}
Redémarrez
if(GUI. {Button(Rect(buttonX,menuTop+2*buttonDist,buttonWidth,buttonHeight),"Restart"))}
Application.LoadLevel(Application.loadedLevel) ;
}
Cesser de fumer (ne fonctionne que dans la construction. Ne fonctionne pas dans le rédacteur!)
if(GUI. {Button(Rect(buttonX,menuTop+3*buttonDist,buttonWidth,buttonHeight),"QUIT"))}
Application.Quit() ;
}
}
Maintenant, remplacez la fonction OnGUI avec :
/ / Appelé chaque fois que l’interface graphique doit être dessiné
{functionOnGUI()}
if (!. MenuOpen) {}
DrawHUD() ;
} else {}
DrawMenu() ;
}
DrawCrosshair() ;
}
Profitez d’une rétroaction visuelle !