2009-07-14 8 views

Répondre

4

Merci pour votre réponse, le code de cette page Web ne compilerait pas pour moi, mais il m'a fait remarquer dans la bonne direction, c'est le code que je utilise (en utilisant XNA 3.1)

En premier lieu, dans les le même espace que la copie du jeu et collez ce code dans

class User32 
    { 
     [DllImport("user32.dll")] 
     public static extern void SetWindowPos(uint Hwnd, int Level, int X, int Y, int W, int H, uint Flags); 
    } 

Je viens d'écrire au-dessus de ma classe principale « Game », puisque je ne l'utilise que dans mon classe de jeu.

Ensuite, dans le LoadContent() de la classe de jeu (DOIT être dans la méthode LoadContent(), ne fonctionne pas correctement nulle part ailleurs), écrire quelque part ... ce

User32.SetWindowPos((uint)this.Window.Handle, -1, 0, 0, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight, 0); 

note: « graphiques "est l'instance de GraphicsDeviceManager qui est premade pour vous chaque fois que vous démarrez votre projet.

Ceci peut également être utilisé pour positionner la fenêtre de jeu où vous voulez sur l'écran. Pour moi, je le voulais dans le coin supérieur gauche de l'écran.

+0

J'aime solution plus Marcus sans substance taille :) – mnn

+0

Nous avons en fait très proche de la même solution .. si vous avez réellement regardé le code de cette page, vous La différence est que ma classe User32 est beaucoup plus simple, utilise des variables primitives au lieu d'objets, et ne possède pas les méthodes de commodité inutiles. Cependant, la raison pour laquelle j'utilise ma solution est que j'ai eu des erreurs de compilation lors de la création de plusieurs variables const et static dans la classe User32. – Danny

0

La manière la plus simple est de configurer le périphérique graphique pour qu'il affiche en plein écran. Placez le code suivant dans votre principale méthode de jeu:

this.graphics.IsFullScreen = true; 
+0

Oui, je sais que je peux le faire, mais mon exigence est de garder la fenêtre en mode fenêtré et de le rendre le plus haut possible. Je suis déjà parti avec la réponse que j'ai fournie pour ma propre question, StackOverflow ne me laisse pas accepter ma propre réponse pour le moment. – Danny