Schritt 13: HUD und Menü-system
Fügen Sie Lebenslauf, neu starten und beenden-Tasten sowie etwas sagt uns, wie viel Gesundheit übrig bleibt.
Beide Funktionen der Menü-Skript hinzufügen:
{functionDrawHUD()}
Holen Sie sich die Gesundheit des Spielers
varplayer=GameObject.find("Player");
Varhealth = Spieler. GetComponent(Player). Gesundheit;Position
VarLeft = 10;
VarTop = 10;
VarWidth = 100;
VarHeight = 25;
Erstellen Sie eine Hintergrund-box
GUI. Box (Rect (links, oben, Breite, Höhe), "Gesundheit:" + Gesundheit);
DrawCrosshair();
}Zeichnen Sie das Menü
{functionDrawMenu()}
varcenterX=Screen.width/2;
varcenterY=Screen.height/2;
Position des Menüs
VarmenuLeft = CenterX-50;
VarmenuTop = CenterY-50;
VarmenuWidth = 100;
VarmenuHeight = 100;
VarbuttonX = MenuLeft + 10;
VarbuttonWidth = 80;
VarbuttonHeight = 20;
VarbuttonDist = 25; / / Abstand zwischen den einzelnen Schaltflächen
Erstellen Sie eine Hintergrund-box
GUI. Box(rect(menuLeft,menuTop,menuWidth,menuHeight),"Menu");
Starten / fortsetzen
If(GUI. {Button(rect(buttonX,menuTop+1*buttonDist,buttonWidth,buttonHeight),"Resume"))}
MenuOpen = False;
UpdateCursorLock();
}
Neu starten
If(GUI. {Button(rect(buttonX,menuTop+2*buttonDist,buttonWidth,buttonHeight),"Restart"))}
Application.LoadLevel(Application.loadedLevel);
}
Beenden Sie (funktioniert nur in den Build. In der Eidtor funktioniert nicht!)
If(GUI. {Button(rect(buttonX,menuTop+3*buttonDist,buttonWidth,buttonHeight),"Quit"))}
Application.Quit();
}
}
Nun ersetzen Sie die OnGUI-Funktion mit:
/ / Namens jedes Mal, wenn die Gui muss gezogen werden
{functionOnGUI()}
If (!) MenuOpen) {}
DrawHUD();
} else {}
DrawMenu();
}
DrawCrosshair();
}
Genießen Sie visuelles Feedback!