Page 1 sur 1

fenêtre : changer la taille en cours de jeu

Publié : jeu. 24/mars/2011 18:12
par blendman
salut

J'aimerai savoir comment je peux changer la taille de la fenêtre d'un jeu en cours de jeu.
J'ai essayé en mettant des variables, mais rien ne marche. J'ai aussi essayé en utilisant plusieurs open window, mais à chaque je dois recharger tous mes sprites, donc, je me demandais s'il existait une méthode sur la même windowID()

Merci :)

Re: fenêtre : changer la taille en cours de jeu

Publié : jeu. 24/mars/2011 18:17
par Warkering
Si c'est une «WindowedScreen», je crois que tu peux utiliser la fonction »ResizeWindow».
Sinon, je ne pense pas que l'on peut faire comme tu le souhaite avec une «Screen» en plein écran. :?
Mais bon, je te conseille d'attendre les avis des autres quand même. :wink:

Re: fenêtre : changer la taille en cours de jeu

Publié : jeu. 24/mars/2011 18:31
par G-Rom
En règle général , une fenêtre est un contexte. Dans lequel est rattachés les ressources graphiques & sonores.
Chaque contexte possède donc ces propres ressources.
Il faudrait que tu décharges toutes les ressources , que tu fermes l'écran en cour , et que tu re-ouvre l'écran avec la nouvelle résolution , & recharger les médias précédemment détruit.

@+

Re: fenêtre : changer la taille en cours de jeu

Publié : jeu. 24/mars/2011 18:42
par SPH
Si tu fais un closescreen puis un openscreen d'une autre dimention, il faut que tu reload tous tes sprites

Re: fenêtre : changer la taille en cours de jeu

Publié : jeu. 24/mars/2011 19:08
par jbernard13
Peux etre en utilisant un api

Code : Tout sélectionner

largeur_ecran=GetSystemMetrics_(#SM_CXSCREEN):; largeur de l'ecran 
hauteur_ecran=GetSystemMetrics_(#SM_CYSCREEN) ; hauteur de l'ecran  

Re: fenêtre : changer la taille en cours de jeu

Publié : jeu. 24/mars/2011 21:04
par blendman
ok, j'avais remarqué qu'effectivement il fallait tout recharger. C'est dommage.

En plus, lorsque l'on ouvre une fenêtre (openwindow et openwindowedscreen()), il y a des sortes de "sautes" de la fenêtre si on utilise le flipbuffer, c'est étrange.

Voici mon fichier (image+code) :
http://blendman.free.fr/dev/pb/menu_ecran.zip

En plus, autre chose bizarre, si je compile sans le debugger, ça plante.
J'ai du faire plein de boulettes dans ce code :D.

Si vous trouvez la raison, ça m'intéresse ;).

Re: fenêtre : changer la taille en cours de jeu

Publié : jeu. 24/mars/2011 21:20
par G-Rom
Dans la procédure intro :
If (ElapsedMilliseconds() > CheckTime + 1000 / #FPS_LIMIT)
CheckTime = ElapsedMilliseconds()

ClearScreen(RGB(0,0,0))
affichage(*setting,*lib,*globalz)
*setting\time1 -1
ICI !
Else
Delay(5)
EndIf
il te manque pas un flipbuffers() par hasard ? :mrgreen:
Pense à commenter ton code , et continue à le fragmenté comme tu le fait en fichier différents , essaye de t'organiser encore mieux que cela.
pense en "module" , un qui s'occupe de l'affichage , l'autre de la gestion des medias , un qui coordonne le tout , etc...
il faut que ce soit très clair pour toi , code toujours dans l'optique que les autres te comprennent , & fait comme si ils étaient amené à lire les sources.
car si tu fait un break de quelques semaine , tu ne va plus rien comprendre , et hop , un projet à la corbeille.
Fait ton code doucement , mais surement ;)