Intro till enhet (13 / 14 steg)
Steg 13: HUD och menyn system
Låt oss lägga CV, starta och avsluta knappar samt något talar om för oss hur mycket hälsa är kvar.
Lägg till båda dessa funktioner i menyn skriptet:
functionDrawHUD() {Får hälsa från spelaren
varplayer=GameObject.find("Player");
varhealth = spelare. GetComponent(Player). Hälsa.Ställning
varleft = 10;
Vartop = 10;
varwidth = 100;
varheight = 25;Göra en bakgrund låda
GUI. Box (Rect (vänster, topp, bredd, höjd), "hälsa:" + hälsa);DrawCrosshair();
}Rita på menyn
functionDrawMenu() {
varcenterX=Screen.width/2;
varcenterY=Screen.height/2;läge av menyn
varmenuLeft = centerX-50;
varmenuTop = centerY-50;
varmenuWidth = 100;
varmenuHeight = 100;varbuttonX = menuLeft + 10.
varbuttonWidth = 80.
varbuttonHeight = 20;
varbuttonDist = 25; / / avstånd mellan varje knappGöra en bakgrund låda
GUI. Box(rect(menuLeft,menuTop,menuWidth,menuHeight),"Menu");Start / återuppta
IF(GUI. Button(rect(buttonX,menuTop+1*buttonDist,buttonWidth,buttonHeight),"Resume")) {
MenuOpen = false;
UpdateCursorLock();
}Starta om
IF(GUI. Button(rect(buttonX,menuTop+2*buttonDist,buttonWidth,buttonHeight),"Restart")) {
Application.LoadLevel(Application.loadedLevel);
}
Avsluta (fungerar bara i bygga. Fungerar inte i eidtor!)
IF(GUI. Button(rect(buttonX,menuTop+3*buttonDist,buttonWidth,buttonHeight),"quit")) {
Application.Quit();
}
}
Nu ersätta funktionen OnGUI med:
/ / Kallas varje gång Gui måste ritas
functionOnGUI() {
IF (!. MenuOpen) {
DrawHUD();
} annat {
DrawMenu();
}
DrawCrosshair();
}
Njut av visuell feedback!