Göra ett 2D spel med Unity (6 / 19 steg)
Steg 6: Robot Controller skriptet
I Project-fönstret Skapa en ny mapp och kalla det skript. Öppna den mappen och skapa en ny C# skriften, kallar det RobotController.
Dubbelklicka på skript för att starta MonoDevelop. Det kan ta en stund att öppna upp, ha tålamod.
Ange följande kod att börja
använder UnityEngine;
använder System.Collections;
allmän klass RobotController: MonoBehaviour {
Detta kommer att vara vår högsta hastighet som vi kommer alltid vara att multiplicera med 1
offentliga flyta MaxOmdr = 2f;
ett booleskt värde att representera om vi står inför vänster eller inte
bool facingLeft = sant;
ett värde som representerar våra animatör
Animatör anim;
Använd detta vid initiering
Ogiltig Start () {
Ställ in anim till våra animatör
anim = GetComponent < animatör > ();
}
Uppdatering anropas en gång per bildruta
void FixedUpdate () {
float flytta = Input.GetAxis ("horisontellt"); //Gives oss för om vi är på väg via piltangenterna
flytta våra spelare rigidbody
rigidbody2D.Velocity = ny Vector3 (flytta * maxSpeed, rigidbody2D.velocity.y);
ställa vår hastighet
anim. SetFloat ("Speed",Mathf.Abs (flytta));
om vi går kvar men inte inför vänster flip, och vice versa
om (flytta < 0 & &! facingLeft) {
(Flip);
} else om (flytta > 0 & & facingLeft) {
(Flip);
}
}
Vänd om så behövs
void Flip() {
facingLeft =! facingLeft;
Vector3 theScale = transform.localScale;
theScale.x * = -1;
transform.localScale = theScale;
}
}
Spara skriptet och återgå till fönstret enhet. Dra den nya RobotController skriften från projektarbetet är på objektet spelare i fönstret hierarki. Tryck på knappen play att köra spelet och du bör kunna styra roboten med vänster och höger piltangent. Om du öppnar fönstret animatör under spelet, bör du se animeringen ändra stater från enheten till inaktiv beroende på huruvida Robot går.