In Windows-Anwendungen, wenn eine 'Bewegung' mit einer Taste zugeordnet ist, nämlich Scrollen Sie eine Webseite durch Halten Sie die Pfeiltasten gedrückt oder bewegen Sie die Objekte in einem Spiel), so wird die Bewegung so ausgeführt: Zuerst findet eine plötzliche und ruckartige Bewegung statt und nach einer kurzen Instanz geht die Bewegung weiter. In 'Rollenspielern' ist dies jedoch nicht zu sehen und wir erleben eine sanfte Bewegung. Was ist die Ursache für diese Art von Bewegung und wie kann es beim Schreiben einer Windows-Anwendung gelöst werden? (Beachten Sie, dass dies unabhängig von der Programmiersprache zu sehen ist.)Initial Objekt Bewegung Verzögerung in Anwendungen bei gedrückter Pfeiltasten
Antwort
Es ist kein Anti-Pattern. Es ist absichtlich Funktion: Für die meiste Zeit müssen Sie ein einzelnes Zeichen eingeben. Erst nach einer Verzögerung tritt die automatische Wiederholung ein, weil Sie durch Drücken der Taste deutlich zum Ausdruck gebracht haben, dass Sie ziemlich viele Wiederholungen benötigen. Da Sie ziemlich viele benötigen, ist das Wiederholungsintervall kleiner als die Verzögerung nach einem einzelnen Zeichen.
Das gleiche Verhalten wird auf die Cursortasten erweitert.
Wenn es keine Verzögerung nach der ersten Cursorbewegung gab, würden die meisten Benutzer es schwer haben, sie um einen Buchstaben zu verschieben. Wenn Sie sich genau um 3 Buchstaben bewegen müssen, können Sie durch dreifaches Drücken ein präzises Ergebnis erzielen.
Sie können die Verzögerung und die Wiederholungsgeschwindigkeit in den Tastatureinstellungen Ihres Control Panels steuern.
In einer bestimmten Anwendung abonnieren Sie normalerweise KeyDown
/KeyUp
Ereignisse und behandeln die Wiederholungsfunktionalität selbst. In Spielen überprüfen Sie einfach, ob eine bestimmte Cursortaste gedrückt ist, und erhalten in jedem Zyklus der Hauptschleife die gleiche Bewegung.
- 1. QwtPicker: deaktivieren Bewegung des Cursors über Pfeiltasten
- 2. Eingänge in SDL (bei gedrückter Taste)
- 3. Lange Verzögerung bei $ rootscope $ $ mit großem Objekt
- 4. Sprite Kit Kamera glatte Bewegung mit Verzögerung
- 5. Ändern Sie mehrere Artikel Bilder bei gedrückter
- 6. Android - Popup-Menü bei gedrückter Listenansicht?
- 7. Vergrößern/Verkleinern einer Textansicht bei gedrückter Textansicht
- 8. Roboter - AutoClicking bei gedrückter linker Maustaste
- 9. Bei gedrückter linker Maustaste beide Maustasten drücken
- 10. Wie werden Pfeiltasten in CLI-basierten Anwendungen in Haskell verarbeitet?
- 11. Pygame - Glatter Bewegung
- 12. Objekt (jquery) Verzögerung einfügen?
- 13. EditText Verzögerung bei Aktivitätsänderung
- 14. glatte Bewegung in Pygame
- 15. Android - Schaltfläche mit rotierenden/rotierenden "loading" Bild bei gedrückter
- 16. Bild bei gedrückter Maustaste ändern, klicken Sie auf
- 17. Java Swing-GUI. Aktivieren/Feuern weiterer Tasten bei gedrückter Maustaste
- 18. Iphone Dev - Drop-down-Liste der Tasten bei gedrückter Taste
- 19. Arduino - Erkennung von Bewegung/Bewegung?
- 20. Kollisionserkennung und Stop-Bewegung
- 21. Initial Zoom Parameter für PDF-Objekt in HTML5
- 22. Verzögerung bei Animation wurde getan
- 23. Verzögerung bei ctrl + s Tastenkombination
- 24. Fehlerbehebung bei einer Verzögerung in meiner Funktion
- 25. Timer in Java (Verzögerung bei Aktionen)
- 26. Windows ändert den Cursor bei schneller Bewegung
- 27. LOVE2D, Desync Bewegung von Follower-Objekt
- 28. Pfeiltasten in OS X
- 29. entfernen Taste drücken Verzögerung in Javascript
- 30. Objekt noch in Bewegung, auch wenn die Zahl der Bewegung 0 ist