Bei diesem Beitrag habe ich auch ein paar Probleme. Ich habe die selbe Aufgabe wie er, aber meine Lösung funktioniert nicht, wie die in diesem Beitrag erklärt wird. Anbei sende ich mal mein Script mit, vielleicht kann mir jemand das Problem erklären.
//die Enumeration für die Maustasten die Aufzählung ist auskommentiert, da mit es keine Fehler gibt
enum MouseButtons { linke, rechte, mittlere };
//für die Geschwindigkeit
public enum Speed { aus, langsam, mittel, schnell };
//ein Feld für die Geschwindigkeit
public Speed objectSpeed = Speed.langsam;
//ein privates Feld für die Länge der Enumeration
int numberOfSpeed = System.Enum.GetValues(typeof(Speed)).Length - 1;
// Update is called once per frame
void Update()
{
int mySpeed = (int)objectSpeed * 100;
transform.Rotate(mySpeed * Time.deltaTime, 0, 0);
//wurde die linke Maustaste gedrückt?
if (Input.GetMouseButtonDown((int)MouseButtons.rechte))
{
//ist der neue Wert noch im gültigen Bereich
if ((int)objectSpeed < numberOfSpeed)
{
objectSpeed = objectSpeed + 1;
}
else
{
if ((int)objectSpeed > numberOfSpeed)
objectSpeed = 0;
}
}
if (Input.GetMouseButtonDown((int)MouseButtons.linke))
{
//ist der neue Wert noch im gültigen Bereich
if ((int)objectSpeed > 0)
{
objectSpeed = objectSpeed - 1;
}
else
{
if ((int)objectSpeed == 0)
objectSpeed = (Speed)numberOfSpeed;
}
}
//zum Test ausgeben
Debug.Log(mySpeed + " " + objectSpeed);
}