PureBasic

Forums PureBasic
Nous sommes le Mer 19/Juin/2013 6:28

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 
Auteur Message
 Sujet du message: [résolu] Problème avec Openscreen() en fullscreen
MessagePosté: Ven 08/Juin/2012 16:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 19/Fév/2011 12:46
Messages: 928
salut

J'ai un code qui fonctionne en mode fenêtre et pas en fullscreen, savez-vous pourquoi ?

Code:
#MainWindow =0
#fullscreen = 1
InitSprite()
InitKeyboard()

If OpenWindow(#MainWindow,0,0,800,600,"3Arks",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
  If OpenWindowedScreen(WindowID(#MainWindow),0,0,800,800,0,0,0,#PB_Screen_SmartSynchronization)
  EndIf
EndIf

Repeat
  delay +1
  Delay(10)
  ClearScreen(RGB(125,125,125))
  StartDrawing(ScreenOutput())
  DrawText(100,100,"1er écran : "+Str(delay))
  StopDrawing()
  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) Or e =#PB_Event_CloseWindow Or delay >=150

CloseWindow(#MainWindow)
Delay(1000)

If #fullscreen = 0
  flag = #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget
  If OpenWindow(#MainWindow,150,150,800,600,"3arks",flag);
    If OpenWindowedScreen(WindowID(#MainWindow),0,0,800,600,0,0,0,#PB_Screen_SmartSynchronization)
    EndIf
  EndIf
Else
  If OpenScreen(800,600,32,"3arks",#PB_Screen_SmartSynchronization)
  EndIf
EndIf

Repeat
  If #fullscreen = 0
    e=WaitWindowEvent()
  EndIf
  Delay(2)
  ClearScreen(RGB(125,125,125))
  StartDrawing(ScreenOutput())
  DrawText(100,100,"Ecran jeu")
  StopDrawing()
  FlipBuffers()
  ExamineKeyboard()
  delay+1
Until KeyboardPushed(#PB_Key_Escape) Or e =#PB_Event_CloseWindow Or delay >= 1200
End


Merci beaucoup pour vos réponses, ça m'empêche de mettre notre jeu 3arks en mode Fullscreen ^^

_________________
http://blendman.blogspot.com/


Dernière édition par blendman le Sam 09/Juin/2012 14:11, édité 1 fois.

Haut
 Profil  
 
 Sujet du message: Re: Problème avec Openscreen() en fullscreen
MessagePosté: Ven 08/Juin/2012 18:01 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 883
Localisation: Besançon
bizarre ?

Sinon, si tu veux mettre plusieurs type d'écran (Menu, Game, HighScore...), je te propose une technique.
Tu peux créer un seul openwindow et dans la boucle principale tu pointes vers la procédure propre à chaque type d'écran

Code:
Mode = 0  ; mode=0 (menu), mode=1 (game)...

Repeat

  if mode=0 : Menu() : endif
  if mode=1 : Game() : endif
  if mode=2 : HighScore() : endif

  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) Or e =#PB_Event_CloseWindow Or delay >=150


_________________
Only PureBasic makes it possible


Haut
 Profil  
 
 Sujet du message: Re: Problème avec Openscreen() en fullscreen
MessagePosté: Ven 08/Juin/2012 18:08 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 19/Fév/2011 12:46
Messages: 928
Cool Dji a écrit:
bizarre ?

Sinon, si tu veux mettre plusieurs type d'écran (Menu, Game, HighScore...), je te propose une technique.
Tu peux créer un seul openwindow et dans la boucle principale tu pointes vers la procédure propre à chaque type d'écran

Code:
Mode = 0  ; mode=0 (menu), mode=1 (game)...

Repeat

  if mode=0 : Menu() : endif
  if mode=1 : Game() : endif
  if mode=2 : HighScore() : endif

  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) Or e =#PB_Event_CloseWindow Or delay >=150

comme dit Monica de Friends "I knoooooooooowwww " :mrgreen:

Mais en fait, sur 3arks, il y a bien 2 windows distinctes (ou 1window/1 écran) :
- une pour se loguer, avec sa résolution (800*600)
- et une autre pour le jeu, avec la résolution qu'on veut

Donc, j'ai besoin de fermer la fenêtre pour ouvrir un screen en plein écran, mais là, ça bug totalement :(

je ne peux donc pas utiliser de resizewindow, car en fullscreen, j'ai bien 1 fenêtre, puis un screen...

_________________
http://blendman.blogspot.com/


Haut
 Profil  
 
 Sujet du message: Re: Problème avec Openscreen() en fullscreen
MessagePosté: Ven 08/Juin/2012 18:41 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 10/Sep/2007 11:13
Messages: 959
ça marche vachement bien ton code a partir du moment ou...


tu utilise la commande ...



Citation:

CloseScreen()

Syntaxe

CloseScreen()
Description

Ferme l'écran courant. Ceci permet à une application de passer du mode plein écran au mode fenêtré dynamiquement. Après avoir changé d'écran, tous les sprites doivent être rechargés.



enfin je dis ça, je dis rien moi , je lis juste la doc :p

_________________
ImageImageImage


Haut
 Profil  
 
 Sujet du message: Re: Problème avec Openscreen() en fullscreen
MessagePosté: Ven 08/Juin/2012 19:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 05/Sep/2008 11:42
Messages: 883
Localisation: Besançon
Yes :D

J'ai eu l'espace d'un instant un doute sur la possibilité de faire deux openscreen à la suite mais à aucun moment je n'ai pensé que la fonction closescreen pouvait exister...

En revanche, un peu dommage l'histoire d'être obligé de recharger tous les sprites.

_________________
Only PureBasic makes it possible


Haut
 Profil  
 
 Sujet du message: Re: Problème avec Openscreen() en fullscreen
MessagePosté: Ven 08/Juin/2012 19:26 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 10/Sep/2007 11:13
Messages: 959
en général on charge pas tout les sprites pour le login :)

_________________
ImageImageImage


Haut
 Profil  
 
 Sujet du message: Re: Problème avec Openscreen() en fullscreen
MessagePosté: Sam 09/Juin/2012 14:10 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 19/Fév/2011 12:46
Messages: 928
rah case... Je suis un boulet sur ce coup-là... j'ai les boules, j'aurai du trouver tout seul, j'y ai même pas pensé. :oops:

Merci encore une fois, CASE !!!

_________________
http://blendman.blogspot.com/


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 7 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye