witchmaster Geschrieben 10. Juli 2017 Melden Share Geschrieben 10. Juli 2017 ich habe ein Problem. Ich habe mir eine Gui gebaut, die aus einer Liste zugewiesener Objekte passende Texturen zuordnet und nebeneinander anzeigt. Jetzt möchte ich jeweils per Tastendruck eine Textur nach links bzw. nach rechts wandern und es rot markieren, ich kann vor und zurück gehen aber komischer weise immer zwei Schritte. Es wird pro Tastendruck immer doppelt hinzugezählt. Siehe Code if (Input.GetKeyUp (KeyCode.F3)) { if(Selector < (SelectorMax-1)) Selector+=1; } if (Input.GetKeyUp (KeyCode.F2)) { if(Selector >=1) Selector-=1; } GUI.color = Color.red; GUI.TextArea (new Rect (Selector* 50 + 600, 0, 50, 50), "" + (Selector)); Habt ihr eine Idee, wie ich es anders hinbekomme. Ich habe bereits GetKeyDown und GetKeyUp probiert bei beidem das Gleiche. Bei GetKey hüpft er gleich zum Ende bzw. zum Anfang. Schon einmal Danke im Voraus. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 10. Juli 2017 Melden Share Geschrieben 10. Juli 2017 OnGUI wird mehrmals pro Frame ausgeführt: Zitat OnGUI: Called multiple times per frame in response to GUI events. The Layout and Repaint events are processed first, followed by a Layout and keyboard/mouse event for each input event. https://docs.unity3d.com/Manual/ExecutionOrder.html Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 10. Juli 2017 Melden Share Geschrieben 10. Juli 2017 ...und weil das so ist, sollte man alle Inputs (außer das Bedienen von OnGUI-Elementen) in Update verarbeiten. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
witchmaster Geschrieben 10. Juli 2017 Autor Melden Share Geschrieben 10. Juli 2017 dann versuch ich das mal in der Update zu schieben Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
witchmaster Geschrieben 25. Juli 2017 Autor Melden Share Geschrieben 25. Juli 2017 Ich bin zwar schon ne Weile fertig mit dem Problem aber wollte einmal ein Statement geben. Ich habe die Veränderungen, die an der Gui vorgenommen werden mittels Array gelöst und wenn der Array sich verändert, ändert sich auch die GUI. Spart gleichzeitig Resourcen danke nochmals Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.