Je suis en train d'installer un système XNA WinForms pour que je puisse avoir un éditeur de jeu, et j'ai besoin d'utiliser la souris pour cela. Comme la classe d'entrée XNA Mouse indique la position de la souris en fonction de l'emplacement de la fenêtre, j'ai besoin de placer la forme que j'ai au même endroit. Comment puis-je obtenir l'emplacement de la fenêtre utilisée par mon jeu XNA?Xna - Obtenir l'emplacement de la fenêtre?
Répondre
je fini par faire avec ce code:
Form gameWindowForm = (Form)Form.FromHandle(this.Window.Handle);
...
myForm.Location = new System.Drawing.Point(gameWindowForm.Location.X - 5,gameWindowForm.Location.Y - 5); //-5 pixels for adjustment
qui fonctionne dandy!
Les propriétés X
et Y
de la structure Game.Window.ClientBounds
devraient vous donner les coordonnées de fenêtre absolues que vous recherchez.
Cela fait presque *, mais cela me donne la position de la partie supérieure gauche du contenu de la fenêtre, pas la position réelle de la fenêtre. Voir ma réponse pour comment je l'ai fait. – RCIX
J'ai rencontré ce problème aussi avec mon éditeur de niveau. J'ai un picturebox dans mes Windows Forms, la seule chose que je devais à l'initialisation du jeu XNA:
Mouse.WindowHandle = this.windowForm.Viewport.Handle;
où Viewport
est le picturebox
maintenant la position de la souris XNA est correctement réglée automatiquement.
- 1. XNA: obtenir Vector3 de Matrix
- 2. Affichage des rectangles dans la fenêtre de jeu avec XNA
- 3. rendre la fenêtre de jeu "toujours au top" dans XNA
- 4. Comment dessiner la fenêtre XNA à l'intérieur d'un panneau?
- 5. Définition de l'icône de formulaire pour une fenêtre XNA
- 6. Comment définir la taille de la fenêtre/de l'écran dans xna?
- 7. Obtenir la dernière fenêtre active: Get La fenêtre précédemment ouverte
- 8. Obtenir l'identifiant CGWindow de la fenêtre focalisée
- 9. Obtenir la poignée de fenêtre en C#
- 10. Xna nombreux boutons de la souris
- 11. Comment obtenir une animation de XSI à XNA
- 12. Comment obtenir frameGeometry sans afficher la fenêtre
- 13. Obtenir l'index z de la fenêtre à partir du handle de la fenêtre
- 14. Obtenir élément sélectionné dans la fenêtre active
- 15. C#: XNA vs No XNA (Performance)
- 16. XNA sur la carte graphique
- 17. Obtenir la taille de la fenêtre OpenGL dans Android
- 18. Comment puis-je obtenir la taille de la fenêtre d'affichage?
- 19. Obtenir la source XAML de la fenêtre WPF
- 20. comment obtenir la position scrollTop de la fenêtre parent
- 21. Désactivation de la texture dans XNA
- 22. XNA Content.Load() Utilisation de la mémoire
- 23. Xna Mise en place de la caméra
- 24. Détection de collision XNA
- 25. XNA Window Resize Invoke LoadContent
- 26. Comment obtenir les dimensions relatives de la fenêtre de défilement
- 27. Comment obtenir l'index de l'élément de la fenêtre
- 28. Chargement de fichier XNA
- 29. XNA: Obtenir une struct comme une texture pour le GPU
- 30. PostProcessing dans XNA 4
Ah, donc cela vous donne une référence à la forme réelle ... Bon à savoir! – bcat
J'ai en fait obtenu la première ligne de http://www.codeproject.com/KB/game/XNA_And_Beyond.aspx. Très utile, mais pas complète, sur la façon d'obtenir une configuration de formulaires Windows pour utiliser XNA. – RCIX
le -5 va changer en fonction du style de fenêtre utilisé? Cela ne fonctionnera donc pas correctement avec le style classique, le style Xp et le style vista/7 – McKay