Stap 13: HUD en Menu systeem
Laten we toevoegen knoppen hervatten, opnieuw starten en afsluiten evenals iets vertellen hoeveel gezondheid wordt overgelaten.
Beide van deze functies aan het Menu script toevoegen:
functionDrawHUD() {}
Krijgen van de gezondheid van de speler
varplayer=GameObject.Find("Player");
varhealth = speler. GetComponent(Player). Gezondheid;Positie
varleft = 10;
vartop = 10;
varwidth = 100;
varheight = 25;
Maak een achtergrond box
GUI. Vak (Rect (links, boven, breedte, hoogte), "gezondheid:" + gezondheid);
DrawCrosshair();
}Het menu tekenen
functionDrawMenu() {}
varcenterX=Screen.width/2;
varcenterY=Screen.height/2;
locatie van het menu
varmenuLeft = centerX-50;
varmenuTop = centerY-50;
varmenuWidth = 100;
varmenuHeight = 100;
varbuttonX = menuLeft + 10;
varbuttonWidth = 80;
varbuttonHeight = 20;
varbuttonDist = 25; / / afstand tussen elke knop
Maak een achtergrond box
GUI. Box(rect(menuLeft,menuTop,menuWidth,menuHeight),"menu");
Starten / hervatten
if(GUI. Button(rect(buttonX,menuTop+1*buttonDist,buttonWidth,buttonHeight),"Resume")) {}
MenuOpen = false;
UpdateCursorLock();
}
Opnieuw opstarten
if(GUI. Button(rect(buttonX,menuTop+2*buttonDist,buttonWidth,buttonHeight),"restart")) {}
Application.LoadLevel(Application.loadedLevel);
}
Stoppen (werkt alleen in de bouw. Werkt niet in de eidtor!)
if(GUI. Button(rect(buttonX,menuTop+3*buttonDist,buttonWidth,buttonHeight),"Quit")) {}
Application.Quit();
}
}
Vervang nu de functie van de OnGUI met:
/ / Genaamd telkens de Gui moet worden
functionOnGUI() {}
if (!. MenuOpen) {}
DrawHUD();
} else {}
DrawMenu();
}
DrawCrosshair();
}
Geniet van de visuele feedback!