Hallo ich habe ein Code in Unity wo es eine Fehlermeldung gibt die ich nicht verstehe. Könnt ihr mir helfen?


16.08.2023, 18:06

es soll so sein das wen ich a oder d drücke die bool variable IsRunning auf truhe gesetzt wirt und die run animation abgespielt wird

2 Antworten

Das Problem ist, dass deine Variable anim den Typ Animation hat. Sie sollte den Typ Animator haben.

Der Animator ist ein Component, der dafür zuständig ist, dass die richtige Animation abgespielt wird.

Der Animation Component ist ein veralteter Component, der durch den Animator Component ersetzt wurde.

Hier noch paar kleine andere Tipps:

  • Benenne deine Variablen so, dass man sofort weiß, für was sie da sind. (Deine Variable ig steht vermutlich für isGrounded, am besten nennst du sie auch so. Wenn du nämlich Monate später deinen Code verändern willst, hilft es zu wissen, was wofür zuständig ist. Gilt auch für deinen Ground tag und jumph.)
  • Das hier ist jetzt etwas fortgeschrittener(Musst du jetzt noch nicht umsetzen, solltest du dir aber für zukünftige Projekte merken):
  • Für komplexe Character Controller ist eine Finite State Machine empfehlenswert (Gibt ein gutes Video von IHeartGameDev dazu)

Viel Spaß beim Unity Lernen!

P.S. Game Jams sind super, um zu lernen und machen echt Spaß!

Woher ich das weiß:Hobby

Die Fehlermeldung ist schon ziemlich eindeutig:

"Animation" enthält keine Definition für "SetBool", (...)

Arbeite in diesem Zusammenhang mit der API-Referenz. Diese listet keine SetBool-Methode auf. Dafür aber eine Methode Play.

Im Gegensatz zum Animation-Typ haben Animator-Objekte eine SetBool-Methode.