Verdemis Geschrieben 26. Februar 2016 Melden Share Geschrieben 26. Februar 2016 Hallo zusammen, in meinem aktuellen Projekt habe ich einige Buttons die zur Laufzeit generiert werden. Aus einem mir aktuell nicht nachvollziehbaren Grund funktionieren die Buttons aber nicht immer zuverlässig. Man sieht zwar immer das sie gehighlighted werden wenn man draufklickt, aber die angebundene OnClick funktion wird nicht immer ausgeführt. Mal geht es auf anhieb, manchmal muss ich 5 mal klicken... und es gibt keinerlei System... manchmal funktioniert es eine ganze Session lang ohne Problem, und dann auf einmal nicht mehr. Ganz unterschiedlich. Hat jemand evtl. eine Idee woran sowas liegen kann? Gibt es eine Eigenart der UI Buttons die ich nicht kenne? Danke und LG Sascha Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Ragno Geschrieben 26. Februar 2016 Melden Share Geschrieben 26. Februar 2016 Werden die evtl. von anderen UI Objekten (Panels, Button, Text) überlagert bei den "Raycast Target" aktiviert ist? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Verdemis Geschrieben 26. Februar 2016 Autor Melden Share Geschrieben 26. Februar 2016 Nein es wird nichts überlagert. Aber ich habe eben festgestellt das Problem tritt dann auf, wenn sich die Position der Maus oder des Fingers (auf Mobile) zwischen MouseDown und MouseUp auch nur minimal verändert. Klicke ich und halte den Cursor ganz still funktioniert es tadellos. Bewege ich während des Klicks die Maus auch nur leicht, wird der onClick nicht ausgeführt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 26. Februar 2016 Melden Share Geschrieben 26. Februar 2016 Guck mal, ob du irgendwas mit drag ausschalten kannst. Ich habe Unity jetzt nicht vor mir, deswegen kommt die Antwort so schwammig. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Verdemis Geschrieben 1. März 2016 Autor Melden Share Geschrieben 1. März 2016 Ich bin nun einfach hingegangen und habe mir einen kleinen Workaround gebaut und löse die OnClick Funktion nun bei MouseButtonDown aus und schon funktioniert es tadellos. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TobLine Geschrieben 21. April 2016 Melden Share Geschrieben 21. April 2016 Nein es wird nichts überlagert. Aber ich habe eben festgestellt das Problem tritt dann auf, wenn sich die Position der Maus oder des Fingers (auf Mobile) zwischen MouseDown und MouseUp auch nur minimal verändert. Klicke ich und halte den Cursor ganz still funktioniert es tadellos. Bewege ich während des Klicks die Maus auch nur leicht, wird der onClick nicht ausgeführt. Genau das gleiche Problem habe ich auch in meinem Scrollview: es funktioniert super auf meinem samsung galaxy s4mini (wegen der niedrigen Auflösung, sind meine Buttons schön groß und der OnClick funktioniert super), ABER bei meinem Galaxy S6 (mit fast dreifacher Auflösung sind die Buttons viel kleiner und wenn mann nur minimal verzieht funktioniert der Click nicht). @Verdemis: wie hast den Workaround gebaut ? (Einfach mit einer if-Abfrage das MouseButtonDown abgefragt?). LG Tobi EDIT: sorry Mark ^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 21. April 2016 Melden Share Geschrieben 21. April 2016 @Verdemis: wie hast den Workaround gebaut ? (Einfach mit einer if-Schleife das MouseButtonDown abgefragt?). http://www.if-schleife.de/ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hrungdak Geschrieben 21. April 2016 Melden Share Geschrieben 21. April 2016 http://www.if-schleife.de/ die Seite kannte ich noch nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tiwaz Geschrieben 22. April 2016 Melden Share Geschrieben 22. April 2016 Ich bin nun einfach hingegangen und habe mir einen kleinen Workaround gebaut und löse die OnClick Funktion nun bei MouseButtonDown aus und schon funktioniert es tadellos. Mich würde der Workaround aber jetzt auch mal interessieren ^^ Malzbie's Idee mit dem Drag dürfte das Problem eigentlich auch lösen. Wenn du z.B. den DragThreshold des EventSystems hochdrehst sollte es das theoretisch schon gewesen sein. Du könntest es alternativ mal mit "OnPointerDown()" versuchen, falls du den Drag unbedingt so brauchst, dann bleibst du auch im GUI-EventSystem, was wahrscheinlich die einfachste und geschickteste Variante wäre. Dazu musst du ein Script an das GO hängen das den IPointerDownHandler implementiert. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TobLine Geschrieben 25. April 2016 Melden Share Geschrieben 25. April 2016 Hab den DragTreshold jetzt in meiner Main-Scene auf 50 gestellt, und ab da klappt es super! Danke für die Beschreibung Tiwaz (: 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.