Göra ett 2D spel med Unity (13 / 19 steg)
Steg 13: Lägg till en poäng
Ändra textvärdet till poäng och färg till svart i granskaren.
Öppna fönstret spelet, om det inte är tillgänglig, du hittar den under fönstret rullgardinsmenyn högst upp.
Justera Transform, fungerar det konstigt för GUI objekt av någon anledning, se det som procent av det synliga skrivbordsområdet, där 0,5 är 50% och 0,0 är längst ner till vänster.
X = 0,3 och y = 0,97 sätter det rätt upp längst upp i vänstra hörnet.
Nu måste vi lägga till lite kod till våra skript. Uppdatera skriptet med avhandlingar ändringar.
använder UnityEngine;
använder System.Collections;
allmän klass pancam: MonoBehaviour {
flyta ydir = 0f;
offentliga GameObject spelaren;
för våra GUIText objekt och våra poäng
offentliga GUIElement gui;
flyta playerScore = 0;
Denna funktionen uppdaterar vår guitext objekt
void OnGUI() {
gui.guiText.text = "poäng:" + ((int)(playerScore * 10)). ToString ();
}
Detta är generisk funktion som vi kan kalla för att öka poängen med ett belopp
public void increaseScore (int belopp) {
playerScore += belopp;
}
Uppdatering anropas en gång per bildruta
void uppdatering () {
Kontrollera att spelare finns och sedan fortsätta. annars får vi ett felmeddelande när spelaren dör
om (spelare) {
om spelaren har gått x-position-1 börja sedan flytta kameran framåt med en randomish Y-position
om (player.transform.position.x > -1) {
uppdatera våra poäng varje tickande av klockan
playerScore += Time.deltaTime;
float randy = 0f;
Randy = Random.Range (0f, 100f);
om (randy < 20) {
ydir = ydir + .005f;
} else om (randy > 20 & & randy < 40) {
ydir = ydir - .005f;
} else om (randy > 80) {
ydir = 0f;
}
Transform.position = ny Vector3 (transform.position.x + 0.03f, transform.position.y + ydir, -10);
}
}
}
}
Spara skriptet pancam och återgå till enighet.
Välj Main kameran igen och du kommer se att det finns en ny parameter i komponenten skript i inspektören. Dra objektet poäng GuiText till parametern Gui.
Prova att spela igen, du bör nu ha en poäng går upp.