Mon MessageResqueter Perso ...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Mon MessageResqueter Perso ...

Message par jbernard13 »

bonjour
Voici un petit MessageResqueter perso , j'ai voulu aussi rendre hommage à un grand programmeur du Forum .....

Code : Tout sélectionner

;***** Mon MessageRequester perso *****
;***** écris par Jbernard13 *******

;****** Constantes ******
Enumeration
  #Message_Perso
  #text_01
  #Bouton_ok
  #Font1
EndEnumeration
Global Font01
;*** Chargement de la police ****
Font01= LoadFont ( #Font1 , "arial" ,20, #PB_Font_Bold )


;******* Création de la fenetre et des Gadgets 
; Initialisations Diverses
If InitSprite () =0 
  MessageRequester ( "Error" , "Sprite system can't be initialized" , 0)
  End
EndIf
If OpenWindow(#Message_Perso,0,0,300,100,"Informations",#PB_Window_ScreenCentered)
  If OpenWindowedScreen ( WindowID ( #Message_Perso),30,20,50,40,0,0,0)
    ClearScreen ( RGB (0,0,0))
    TextGadget(#text_01,120,10,110,60,"Coucou à Tous",#PB_Text_Center)
    SetGadgetFont(#text_01,Font01)
    SetGadgetColor(#text_01, #PB_Gadget_FrontColor,RGB(255,255,15))
    SetGadgetColor(#text_01, #PB_Gadget_BackColor,RGB(0,0,0)) 
    ButtonGadget(#Bouton_ok,250,70,30,30,"OK")
    PureCOLOR_SetButtonColor(#Bouton_ok,RGB($FF,$FF,$0),RGB(0,0,0))
    EndIf

  SetWindowColor(#Message_Perso,RGB($0,$0,$0))
  CreateSprite(0,32,32)
  StartDrawing(SpriteOutput(0))
    Circle(16,16,16,RGB(255,255,15)) 
    
    Circle( 10,10,5,RGB(0,250,255))
    Circle( 10,10,2,RGB(0,0,0))
    Circle( 22,10,5,RGB(0,250,255))
   Circle( 22,10,2,RGB(0,0,0))
    Box (10,22,10,5,RGB(0,0,0)) 
   Box (20,20,4,4,RGB(0,0,0))
   Box (7,20,4,4,RGB(0,0,0))
  StopDrawing()
   DisplaySprite(0,10,10) 
  FlipBuffers()
  EndIf





;***** Boucle du programme *****
Repeat 
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #Bouton_ok 
       
          
      EndSelect
  
      Quitter =#True
  EndSelect
Until Quitter
End
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Message par TazNormand »

Je demande une version avec le sprite qui se balade dans le requester !!: :D

Et il sert à quoi ton select vide ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

super! JB13 :)
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

TazNormand
regarde mon code
j'ai mis Select WaitWindowEvent() puis Case #PB_Event_Gadget pour activer le bouton et fermer la fenetre .
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Message par TazNormand »

oui, mais je pense que ton "Quitter =#True " devrait se trouver juste après le "Case #Bouton_ok", tu ne crois pas ?

ton code marche car tu n'as que ce bouton !!!

Et pour le sprite qui bouge ?
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

je voulais juste faire un messagerequester donc je ferais pas bouger le sprite .
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

héhé, sympa le smiley :P
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Message par TazNormand »

je l'ai fais pour toi le smiley qui bouge, et aussi pour moi, ça me familiarise avec PB.

En passant, j'ai essayé de faire un thread pour le displaysprite, et remplacer le WaitWindowEvent par un WindowEvent, mais ça fait du clipping; pourquoi donc ?

Code de Smiley mobile au regard Salace (cf film "la maison du bonheur")

Code : Tout sélectionner


;***** Mon MessageRequester perso *****
;***** écris par Jbernard13 *******

;****** Constantes ******
Enumeration
	#Message_Perso
	#text_01
	#Bouton_ok
	#Font1
EndEnumeration
Global Font01
;*** Chargement de la police ****
Font01= LoadFont ( #Font1 , "arial" ,20, #PB_Font_Bold )


;******* Création de la fenetre et des Gadgets 
; Initialisations Diverses
If InitSprite () =0 
	MessageRequester ( "Error" , "Sprite system can't be initialized" , 0)
	End
EndIf
If OpenWindow(#Message_Perso,0,0,300,100,"Informations",#PB_Window_ScreenCentered)
	If OpenWindowedScreen ( WindowID ( #Message_Perso),10,10,100,80,0,0,0)
		ClearScreen ( RGB (0,0,0))
		TextGadget(#text_01,120,10,110,60,"Coucou à Tous",#PB_Text_Center)
		SetGadgetFont(#text_01,Font01)
		SetGadgetColor(#text_01, #PB_Gadget_FrontColor,RGB(255,255,15))
		SetGadgetColor(#text_01, #PB_Gadget_BackColor,RGB(0,0,0)) 
		ButtonGadget(#Bouton_ok,250,70,30,30,"OK")
		;PureCOLOR_SetButtonColor(#Bouton_ok,RGB($FF,$FF,$0),RGB(0,0,0))
		EndIf

	SetWindowColor(#Message_Perso,RGB($0,$0,$0))
	CreateSprite(0,32,32)
	StartDrawing(SpriteOutput(0))
		Circle(16,16,16,RGB(255,255,15)) 
		
		Circle( 10,10,5,RGB(0,250,255))
		;Circle( 10,10,2,RGB(0,0,0))
		Box (7,10,6,2,RGB(0,0,0))  ; Salace Gauche
		Circle( 22,10,5,RGB(0,250,255))
		;Circle( 22,10,2,RGB(0,0,0))
		Box (19,10,6,2,RGB(0,0,0))  ; Salace Droite
		
		Box (10,22,10,5,RGB(0,0,0)) 
		Box (20,20,4,4,RGB(0,0,0))
		Box (7,20,4,4,RGB(0,0,0))
	StopDrawing()
		DisplaySprite(0,10,10) 
	FlipBuffers()
	EndIf

;***** Boucle du programme *****
x=0
Xmax=100
y=0
Ymax=80
SpeedX=2
SpeedY=1
Repeat 
	Select WindowEvent()
		Case #PB_Event_Gadget
			Select EventGadget()
				Case #Bouton_ok 
				
								Quitter =#True
			EndSelect
	

	EndSelect
	
	DisplayTranslucentSprite(0,x,y,220) 
	FlipBuffers()
	ClearScreen(RGB(0,0,0))
	x=x+SpeedX
	y=y+SpeedY
	If x>Xmax-32
	     x=Xmax-32
	    SpeedX=SpeedX*-1
	EndIf
	 If x<0
	    x=0
	    SpeedX=SpeedX*-1
	 EndIf
	 If y>Ymax-32
	     y=Ymax-32
	    SpeedY=SpeedY*-1
	EndIf
	 If y<0
	    y=0
	    SpeedY=SpeedY*-1
	 EndIf
Until Quitter
End
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ma version :) (qui est multisprites ready)
et ne prends pas trop de temps machine !!!
cntrol+alt+del

Code : Tout sélectionner


;***** Mon MessageRequester perso *****
;***** écris par Jbernard13 *******


;****** Constantes ******
Enumeration
	#Message_Perso
	#Bouton_ok
	#Font1
    #spr_text
 EndEnumeration

Structure sprite
    x.l
    y.l
    pas_x.l
    pas_y.l
EndStructure
nbr_sprite=0
Dim sprite.sprite(nbr_sprite)
For i=0 To nbr_sprite
    sprite(nbr_sprite)\pas_x=1
sprite(nbr_sprite)\pas_y=1
Next i

Global Font01
;*** Chargement de la police ****
Font01= LoadFont ( #Font1 , "arial" ,20, #PB_Font_Bold )


;******* Création de la fenetre et des Gadgets 
; Initialisations Diverses
If InitSprite () =0 
	MessageRequester ( "Error" , "Sprite system can't be initialized" , 0)
	End
EndIf
If OpenWindow(#Message_Perso,0,0,300,100,"Informations",#PB_Window_ScreenCentered)
	If OpenWindowedScreen ( WindowID ( #Message_Perso),0,0,300,70,0,0,0)
	 EndIf
    CreateSprite(#spr_text,300,40)
    StartDrawing(SpriteOutput(#spr_text))
        DrawingFont(Font01)
        Resultat = DrawText(0, 0, "Coucou a Tous !" ,RGB($FA,$DE,$1F),0) 
    StopDrawing() 
    
    ButtonGadget(#Bouton_ok,250,70,30,30,"OK")
    PureCOLOR_SetButtonColor(#Bouton_ok,RGB($FF,$FF,$0),RGB(0,0,0)) 
    SetWindowColor(#Message_Perso,RGB($0,$0,$0))
    
    ; **** le smiley *****************
	For i=0 To nbr_sprite
    CreateSprite(i,32,32)
	StartDrawing(SpriteOutput(i))
		Circle(16,16,16,RGB(255,255,15)) 
		
		Circle( 10,10,5,RGB(0,250,255))
		Circle( 10,10,2,RGB(0,0,0))
		Circle( 22,10,5,RGB(0,250,255))
		Circle( 22,10,2,RGB(0,0,0))
		Box (10,22,10,5,RGB(0,0,0)) 
		Box (20,20,4,4,RGB(0,0,0))
		Box (7,20,4,4,RGB(0,0,0))
    StopDrawing()
    ; *******************************
Next i
    Global xw=0
    Global  yw=0
    Global  larg_w=300
    Global  haut_w=70
    
EndIf

;***** Boucle du programme *****
Repeat 
    
	Select WaitWindowEvent(2)
        Case #PB_Event_Gadget
			Select EventGadget()
                Case #Bouton_ok 					
            EndSelect 
			Quitter =#True
    EndSelect
    
    ; *********** regles de rebonds ***************
    For i=0 To nbr_sprite
    If sprite(i)\x>larg_w-32 Or sprite(i)\x<xw
        sprite(i)\pas_x=-sprite(i)\pas_x
    EndIf
    If sprite(i)\y>haut_w-32 Or sprite(i)\y<yw
        sprite(i)\pas_y=-sprite(i)\pas_y
    EndIf
    sprite(i)\x=sprite(i)\x+sprite(i)\pas_x
    sprite(i)\y=sprite(i)\y+sprite(i)\pas_y
    ; *********************************************
    ; ****** affiche les sprites *****************
    DisplayTransparentSprite(i,sprite(i)\x,sprite(i)\y) 
Next i
    DisplayTransparentSprite(#spr_text,30,20)  
    ; ***************************************
    FlipBuffers()
    
	
    ClearScreen(RGB(0,0,0))
    
Until Quitter
End
Dernière modification par Backup le mar. 19/mai/2009 15:53, modifié 1 fois.
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Message par TazNormand »

excellent !!!

Tiens tant que j'y suis, le proxy de mon boulot me bloque l'accès en téléchargement pour les librairies Purecolor de Gnozal, quelqu'un pourrait'il me donner un lien ailleurs (RS, Megaupload, free), s'il vous plaît.

merci d'avance
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

je vois que mon code vous donne des idées faisons un concours de messageRequester ...
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Message par TazNormand »

Avec des Rasters à l'arrache (optimisation ZÉRO) (Pardon pour vos yeux chastes)

je vais modifier ce soir si j'ai le temps chez moi pour utiliser structure, et moins de sprites

Code : Tout sélectionner



;***** Mon MessageRequester perso *****
;***** écris par Jbernard13 *******

;****** Constantes ******
Enumeration
		#Message_Perso
		#text_01
		#Bouton_ok
		#Font1
EndEnumeration
Global Font01
;*** Chargement de la police ****
Font01= LoadFont ( #Font1 , "arial" ,20, #PB_Font_Bold )


;******* Création de la fenetre et des Gadgets 
; Initialisations Diverses
If InitSprite () =0 
		MessageRequester ( "Error" , "Sprite system can't be initialized" , 0)
		End
EndIf
If OpenWindow(#Message_Perso,0,0,300,100,"Informations",#PB_Window_ScreenCentered)
		If OpenWindowedScreen ( WindowID ( #Message_Perso),10,10,100,80,0,0,0)
				ClearScreen ( RGB (0,0,0))
				TextGadget(#text_01,120,10,110,60,"Coucou à Tous",#PB_Text_Center)
				SetGadgetFont(#text_01,Font01)
				SetGadgetColor(#text_01, #PB_Gadget_FrontColor,RGB(255,255,15))
				SetGadgetColor(#text_01, #PB_Gadget_BackColor,RGB(0,0,0)) 
				ButtonGadget(#Bouton_ok,250,70,30,30,"OK")
				;PureCOLOR_SetButtonColor(#Bouton_ok,RGB($FF,$FF,$0),RGB(0,0,0))
				EndIf

		SetWindowColor(#Message_Perso,RGB($0,$0,$0))		
		CreateSprite(2,100,8,#PB_Sprite_Texture)
		CreateSprite(3,100,8,#PB_Sprite_Texture)
		StartDrawing(SpriteOutput(2))
		    For i = 0 To 7
		        LineXY(0,i,100,i,RGB(0,i*32,0))
    		Next i
        StopDrawing()
        StartDrawing(SpriteOutput(3))
		    For i = 0 To 7
		        LineXY(0,i,100,i,RGB(i*32,0,0))
    		Next i
        StopDrawing()
        
		CreateSprite(0,32,32)
		StartDrawing(SpriteOutput(0))
				Circle(16,16,16,RGB(255,255,15)) 
				
				Circle( 10,10,5,RGB(0,250,255))
				;Circle( 10,10,2,RGB(0,0,0))
				Box (7,10,6,2,RGB(0,0,0))  ; Salace Gauche
				Circle( 22,10,5,RGB(0,250,255))
				;Circle( 22,10,2,RGB(0,0,0))
				Box (19,10,6,2,RGB(0,0,0))  ; Salace Droite
				
				Box (10,22,10,5,RGB(0,0,0)) 
				Box (20,20,4,4,RGB(0,0,0))
				Box (7,20,4,4,RGB(0,0,0))
		StopDrawing()
				DisplaySprite(0,10,10) 
		FlipBuffers()
		EndIf

;***** Boucle du programme *****
x=0
Xmax=100
y=0
Ymax=80
SpeedX=2
SpeedY=1
rast1Y=0
rast2Y=0
spd1=2
spd2=1
Repeat 
		Select WindowEvent()
				Case #PB_Event_Gadget
						Select EventGadget()
								Case #Bouton_ok 
								
																Quitter =#True
						EndSelect
		

		EndSelect
		DisplayTranslucentSprite(2,0,rast1y,220) 
		DisplayTranslucentSprite(3,0,rast2y,220) 
		DisplayTranslucentSprite(2,0,rast2y+12,220) 
		DisplayTranslucentSprite(3,0,rast1y+12,220) 
		DisplayTranslucentSprite(2,0,rast2y-12,220) 
		DisplayTranslucentSprite(3,0,rast1y-12,220) 
		
		DisplayTranslucentSprite(0,x,y,220) 
		FlipBuffers()
		ClearScreen(RGB(0,0,0))
		x=x+SpeedX
		y=y+SpeedY
		rast1y=rast1y+spd1
		rast2y=rast2y+spd2
		If rast1y<8
		    rast1y=8
		    spd1=spd1*-1
		EndIf
		If rast1y>ymax-8
		    rast1y=ymax-8
		    spd1=spd1*-1
		EndIf
	    If rast2y<8
		    rast2y=8
		    spd2=spd2*-1
		EndIf
		If rast2y>ymax-8
		    rast2y=ymax-8
		    spd2=spd2*-1
		EndIf
		
		If x>Xmax-32
					x=Xmax-32
				SpeedX=SpeedX*-1
		EndIf
		If x<0
				x=0
				SpeedX=SpeedX*-1
		EndIf
		If y>Ymax-32
					y=Ymax-32
				SpeedY=SpeedY*-1
		EndIf
		If y<0
				y=0
				SpeedY=SpeedY*-1
		EndIf
Until Quitter
End
:oops:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

.............
Dernière modification par Backup le sam. 01/oct./2011 13:31, modifié 1 fois.
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Message par TazNormand »

Bon, je viens d'essayer ton code Dobro, et pas de bol, marche pas avec la version demo.

j'ai commenté l'appel à l'API pour jouer les MID, mais le source est trop gros.

Je ne devrais pas tarder à acheter la version complète le temps que mes ventes eBay se finalisent. j'essaierai à ce moment là, à moins que tu ne mettes un lien vers un exe...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

TazNormand a écrit : à moins que tu ne mettes un lien vers un exe...
voila : :)

http://michel.dobro.free.fr/Forum_PB/demob13.zip
Répondre