Java script problem

  • Moin Leute ich arbeite grad an einem neuen GUI und habe ein problem mit der escape taste .... Also mein problem ist wen ich Input.GetKey benutzt funkt alles bei Input.GetKeyDown funkt garnix kennt sich einer vill aus warum das nich geht ? danke für die hilfe

  • Das ist Unity`s Javascript. Das ist ne ganz eigene Spezies ;)


    Ich habe Unity`s OnGUI Kruscht schon lang zum Deibel gejagt und verwende stattdessen ein GUI Plugin namens NGui. Ganz sicher bin ich mir also nicht.


    Aber ich habe den Verdacht dass das Input Event (GetKeyDown) mal wieder in den Update Loop gehört, und nicht in den OnGUI Loop. Das hat mir auch schon so manch Spässe bereitet. Lös das mal über eine Boolean. Das könnte das Problem beheben.


    Hintergrund: OnGUI wird wohl ähnlich wie alle Physiksachen wie zum Beispiel Kollisionen und FixedUpdate nicht bei jedem Mainloop aufgerufen. Eigentlich rennt nur der Updateloop bei jedem Mainloop.


    GetKey wird so lang gefeuert bis du die Taste wieder loslässt. Das funktioniert also in OnGUI. Weil du gar nicht so schnell wieder loslassen kannst dass das nicht dei oder vier Mainloops lang gedrückt bleibt. GetKeyDown wird aber nur in dem Moment wahr wo du drückst. Und wenn da dann grade kein OnGUI Loop stattfindet dann triggert das das auch nicht. Also packst du Inputsachen besser in den Update Loop. Und stellst damit eben dann eine Boolean auf true. Und im OnGUI Loop checkst du dann ob die Boolean true ist, führst aus was du machen willst, und setzt die Flag dann wieder auf false.


    Und falls du ein deutsches Unity Forum suchst, das gibt es hier: http://www.unity-insider.de/


  • Wenn ich grad so überlege hast du recht. Das Forum kenne ich bin da selber früher oft aktiv gewesen ;) aber mansche antworten kann man dort echt vergessen (bin da zwar selbst oft so gewesen aber es gibt da echt schlimmere) Ich werde es jetzt probieren danke ! :)

FL Studio Shop.de