In einem Spiel, das von einem Gamepad gesteuert wird und bei dem die Steuereingaben den GUI-Fokus direkt von einer GUI-Taste auf eine andere ändern, sollten diese GUI-Tasten aktiviert werden, wenn eine Controller-Taste gedrückt wird .
In einem Spiel, das von einer Maus gesteuert wird (oder wenn ein Gamepad verwendet wird, um einen virtuellen Mauszeiger über den Bildschirm zu bewegen), sollten Bildschirmtasten aktiviert werden, wenn die Maus- / Controllertaste über derselben Taste losgelassen wird, auf der sie sich befand gedrückt . (Wenn das Drücken über eine GUI-Taste erfolgte und die Maus dann bewegt und über eine andere GUI-Taste losgelassen wurde, ist keine der GUI-Tasten aktiviert.)
Der Grund dafür ist, dass die Maussteuerungsfähigkeiten der Benutzer sehr unterschiedlich sind und die Benutzer häufig Probleme haben, den Cursor genau dort zu positionieren, wo sie ihn möchten, oder sogar genau zu sagen, über welche GUI-Schaltfläche sie gerade schweben. Die Theorie besagt, dass Benutzer die Maustaste drücken und gedrückt halten können, um die GUI-Schaltfläche hervorzuheben. Wenn diese GUI-Schaltfläche nicht diejenige war, die sie verwenden wollten, können Sie den Cursor von ihr wegbewegen, bevor Sie die Maustaste loslassen um ein Drücken zu vermeiden.
Wenn Ihr Spiel jedoch von einem Gamepad gesteuert wird, möchten Sie unbedingt Maßnahmen ergreifen, wenn die Gamepad-Taste gedrückt wird, und nicht, wenn sie losgelassen wird.
Edit, fünf Jahre später:
In der Zeit, seitdem diese Antwort veröffentlicht wurde, hat sich ein neuer Standard für den Umgang mit Mauszeigern herausgebildet, die von Gamepads gesteuert werden.
In der obigen Antwort schlug ich vor, dass diese so implementiert werden sollten, dass sie genau wie Cursor funktionieren, die tatsächlich von Mäusen gesteuert werden. Bei gedrückter Maustaste markieren, bei gedrückter Maustaste aktivieren, wenn sich der Cursor immer noch über demselben GUI-Element befindet.
Jetzt aktivieren gamepad-gesteuerte Cursor jedoch in der Regel eine GUI-Aktion, nachdem die Gamepad-Taste für einen bestimmten Zeitraum gedrückt wurde(normalerweise ungefähr eine Sekunde). Wenn Sie diesem System folgen möchten, benötigen Sie eine Bildschirmanzeige, die angibt, wie lange es dauert, bis die Aktivierung erfolgt (häufig ist dies ein kleiner Ring um den Cursor selbst, der sich füllt, wenn Sie sich der Aktivierung des näher kommen Wenn Sie den Mauszeiger über die Schaltfläche halten, müssen Sie das Element markieren, das aktiviert werden soll, während Sie die Schaltfläche gedrückt halten wenn die Taste nicht gedrückt wird). Während die Taste gedrückt gehalten wird, sollte sich der Cursor nicht bewegen lassen, um eine versehentliche Aktivierung von GUI-Elementen zu vermeiden, wenn der Cursor im letzten Moment angerempelt wird.
Der Vorteil dieses Systems besteht darin, dass ein Benutzer, dessen Mauszeiger sich über der falschen Stelle befindet, die Aktivierung dieses Elements vermeiden kann, indem er nur die Taste vorzeitig loslässt. Die Art der Maus, sich von ihr zu entfernen, bevor Sie sie freigeben, ist auf einem Gamepad weniger natürlich als mit einer Maus, und dieser Ansatz ermöglicht es einem Gamepad-Benutzer, einen unerwünschten Klick viel einfacher abzubrechen.
Es gibt sogar einige Spiele, die mit diesem Cursor-Interaktionsmodell experimentieren, selbst wenn der Cursor mit einer echten Maus bewegt wird. No Man's Sky tut dies als ein Beispiel. Es wird interessant sein zu sehen, ob dieser Ansatz zur Handhabung der Maus-Cursor-Interaktion in den kommenden Jahren immer häufiger und erwarteter wird.