Page 1 sur 1
Fermeture OpenWindowedScreen
Publié : mar. 05/mars/2013 12:15
par Vlad
Peut-on redimensionner ou fermer un écran de type OpenWindowedScreen après utilisation ?
Je n'ai pas trouvé de solution.
Merci de vos éventuelles réponses.
Re: Fermeture OpenWindowedScreen
Publié : mar. 05/mars/2013 12:54
par Backup
CloseScreen()
CloseWindow()
pour le redimensionnement , ça suit la fenetre !! donc redimentionne la fenetre ...
exemple :
Code : Tout sélectionner
#dobro =1
#Police =1
#sprite=1
InitKeyboard () : ; j'espere qu'il y a un clavier au moins !!
Resultat = InitSprite () ; initialisation de la gestion des Sprites par Purebasic
; ************** definition des variables ****************
EcranX = 800
EcranY = 600
; ***************************************************
; *********** ouvre une fenetre aucentre de l'ecran sans bordure, mais ayant la petite croix pour fermer *****************
WindowID = OpenWindow (1, 0, 0,EcranX, EcranY, "hello" , #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered|#PB_Window_SizeGadget )
; **************************************************************************************************
;********** placement d'un ecran graphique dans notre fenetre préalablement crée *************************
Result = OpenWindowedScreen ( WindowID (1),0,0, EcranX,EcranY, 1, 0,0)
; *****************************************************************************************
; ******* creation d'un sprite ************
If CreateSprite (1,32,32) ; on creer un sprite vide (une cellule) de 32 par 32 et on lui donne le numero 1
StartDrawing ( SpriteOutput (#sprite) ) ; on va dessiner dedans !
Circle (16,16,16, RGB (255,0,0)) ; on dessine un cercle rouge
StopDrawing ()
EndIf
; ******************************************
; ********* preparation du point de depart de notre sprite *************************
x_sprite=EcranX/2 ; on centre les coordonées du sprite
y_sprite=EcranY/2 ; on centre les coordonées du sprite
; **************************************************************************
Repeat ;********* debut de boucle principale **************************
ExamineKeyboard (); on regarde si le clavier a ete touché par l'utilisateur
; ************************ ecriture dans l'ecran *********************
StartDrawing ( ScreenOutput ()) ; on va ecrire dans le fond de l'ecran
Resultat = DrawText (50, 50, "appuyez sur les touches flechées" , RGB (255,255,0), RGB (0,0,0) )
Resultat = DrawText (50, 150, "pour faire bouger le sprite" , RGB (255,255,0), RGB (0,0,0) )
StopDrawing ()
; ******************************************************************
; le clavier a ete touché !!!
; ********** gestion du clavier ***********************************
If KeyboardPushed ( #PB_Key_Up ) ; press touche fleche haut
Debug "press touche haut"
y_sprite= y_sprite-1 ; diminue la coordonée Y du sprite
EndIf
If KeyboardPushed ( #PB_Key_Down ) ; press touchefleche bas
Debug " press touche bas"
y_sprite= y_sprite+1 ; augmente la coordonée Y du sprite
EndIf
If KeyboardPushed ( #PB_Key_Left ) ; press touche flechegauche
Debug " press touche gauche"
x_sprite= x_sprite-1 ; diminue la coordonée x du sprite
EndIf
If KeyboardPushed ( #PB_Key_Right ) ; press touche flechedroit
Debug " press touche droit"
x_sprite= x_sprite+1 ; diminue la coordonée X du sprite
EndIf
; ****************************************************************
; ******* affichage du sprite ****************************************
DisplaySprite (#sprite, x_sprite, y_sprite) ; affiche le sprite au coordonées modifié par les touches
; ****************************************************************
; *************** affiche l'ecran ********************************
FlipBuffers (): ; affiche l'ecran
; **************************************************************
; **** ok on nettoie pour le prochain affichage **********************
ClearScreen ( RGB (0, 0, 0)) : ;efface l'ecran
; ***************************************************************
event= WindowEvent ()
Delay (2)
Until event= #PB_Event_CloseWindow Or KeyboardPushed ( #PB_Key_Escape ) ; press touche droit ; EPB