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