J'ai une interruption qui sur la touche du clavier me donne la clé de coordination. Lorsque le verrouillage numérique est activé, les touches apparaissent comme Numpad1, Numpad2, etc. Lorsque le verrouillage numérique est désactivé, les touches du pavé numérique se transforment en End, Left, Right, Up, PageLock ... Je ne peux pas avoir ce problème parce que j'ai besoin pour garder ces touches (gauche, droite ..) comme les touches fléchées réelles. Id plutôt que l'entrée ne soit pas affectée par le verrouillage numérique du tout. Cependant, je ne peux pas sembler atténuer cela car je reçois l'entrée de XNA directement. Quelqu'un d'autre peut-il confirmer que cela se produit dans XNA 3.1 sur VS 2008?XNA Verrouillage numérique affecte l'entrée
Répondre
Vous pouvez définir 2 clés pour chaque action de votre partie. Par exemple, au lieu de Keys.Left pour se déplacer vers la gauche, avoir une autre clé allouée pour cela (Numpad4).
Dans votre entrée code de vérification, vous simplement vérifier si l'une de ces 2 touches sont enfoncées:
Par exemple:
if (IsKeyPressed(Keys.Numpad4) || IsKeyPressed(Keys.Left)
{
// Do some action.
}
Off, vous pouvez bien sûr créer une méthode qui accepte 2 clés et effectue cela en interne, sans avoir besoin d'écrire le code à chaque fois.
XNA utilise en interne la fonction win32 GetKeyboardState
pour déterminer l'état du clavier. Cette fonction ne peut pas faire la différence entre le pavé numérique, les touches fléchées et le groupe d'insertion.
Apparemment, vous pouvez différencier les clés en utilisant le WM_KEYDOWN
message (et ses amis).
Je vais laisser l'interop requis pour obtenir des messages Win32 dans une application XNA, et comment vérifier les données pour le message, comme un exercice.
(Personnellement, je recommande de modifier simplement votre système de contrôle. Ou tout simplement en observant l'état de verrouillage numérique de l'utilisateur. Il est en général une mauvaise idée de prendre en charge la fonctionnalité de quelque chose comme la touche de verrouillage numérique!)
Je n'ai pas vérifié encore, mais Ryan Rubley de Morphée pour le développement a publié une solution ici qui est la peine de vérifier:
http://xboxforums.create.msdn.com/forums/p/90944/545124.aspx#545124
Voici un travail entièrement solution à utiliser les touches du pavé numérique quel que soit le statut de numlock, et sans allumer la numlock
Créé par Ryan Rubley 9-5-2011
- 1. Affichage de l'état du verrouillage des majuscules, du verrouillage numérique et des touches majuscules dans Emacs
- 2. Comment activer/désactiver le verrouillage des majuscules, le verrouillage du défilement et le verrouillage numérique par programme
- 3. OpenCV valeur cvWaitKey lorsque le verrouillage numérique est activé
- 4. Activez l'indicateur de verrouillage numérique dans la barre d'état
- 5. Synthétiseur de fréquence numérique DDS boucle de verrouillage de phase
- 6. Quel est l'ID numérique pour le verrouillage des majuscules?
- 7. Vérifier le verrouillage du défilement, le verrouillage numérique et le verrouillage des majuscules en JavaScript lors du chargement de la page
- 8. Reconnaissance numérique/numérique manuscrite
- 9. Numéro de clés XNA 1
- 10. Comment afficher la vue modale d'entrée numérique comme sur l'écran de verrouillage de l'iPad?
- 11. Aide au verrouillage requise
- 12. Projets XNA 4.0 dans XNA 3.0
- 13. Apprendre XNA 3.1 Vs XNA 4.0
- 14. C#: XNA vs No XNA (Performance)
- 15. UrlRewritting affecte ASP.NET AJAX
- 16. XMLStreamReader parser affecte MuleEventContext
- 17. numérique/chaîne à seulement numérique
- 18. Verrouillage de la chaîne via le verrouillage
- 19. C# mécanisme de verrouillage - écriture seule verrouillage
- 20. XNA Quaternion.createFromAxisAngle
- 21. XNA dropshadow?
- 22. XNA ContentLoadException
- 23. Animation XNA
- 24. Verrouillage d'orientation
- 25. Verrouillage réentrant
- 26. Argument « » est pas numérique dans l'équation numérique (==)
- 27. paresseuse = false affecte la suppression
- 28. TabItem Storyboard affecte TabItems voisins
- 29. Url Reécriture affecte d'autres linksthe
- 30. jQuery hover parent affecte l'enfant
si je devais faire quelque chose de différent avec les touches; par exemple. mouvement avec les touches directionnelles mais, quelque chose d'autre w/les touches du pavé numérique? Cette solution ne fonctionnerait pas alors. –
Ce n'est pas ce que vous avez demandé à l'origine (ou il n'a pas été compris par moi). Vous avez dit que vous souhaitiez traiter les touches avec NUM ON et NUM OFF de la même manière, d'où ma suggestion. –
Downvoted (uniquement) car il ne répondait pas à la question prévue. La réponse de @Andrew Russell mérite d'être au top au lieu de celui-ci (et ce n'est que lorsque j'ai voté). – Xonatron