Jump to content
Unity Insider Forum

UI Button reagiert nicht immer


Recommended Posts

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

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

  • 1 month later...

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

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

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...