Page 1 sur 1

Compilation d'effet en tout genre

Publié : dim. 12/juin/2005 13:55
par garzul
:) Bonjour !

Bon je vais poster ma compilation d'effet ( en tout 6 type d'effet ) et beaucoup d'effet en tout genre dans chaque type ! Ce programme dormez dans mes dossiers donc je l'ai ressortie :) , J'ai programmer ces effets ya 2 semaines pour rigoler ! Et j'en ai fais une ptite compilation des meilleurs :) . Voila vous pouvez le telechargez ici : http://garzul.tonsite.biz/demomaking/Compil_Effect.rar

Amusez vous bien toute les touches sont expliqué dans le programme :) !

Publié : lun. 13/juin/2005 17:56
par eRz0r
Tu fais comment pour que quand t'appuie sur la touche HAUT il n'augmente pas la valeur en continu ?

eRz

Publié : lun. 13/juin/2005 18:12
par garzul
KeyboardReleased ( attend que la touche soit relaché ! )

Publié : mer. 15/juin/2005 14:27
par eRz0r
Il y a pas moyen de faire ça avec la souris ?

eRz

Publié : mer. 15/juin/2005 21:00
par Le Soldat Inconnu
ton orthographe aussi, tu l'as ressorti ;) tu regresses, je suis déçu, déçu :( :lol:

j'ai bien aimé l'effet 4, les lignes qui se croisent, c'est sympa

Publié : mer. 15/juin/2005 22:28
par garzul
Voici la source de ces petits effets !

Code : Tout sélectionner

; --------------------------------------------------
; - Auteur            : Garzul                     -
; - Date              : 4 Juin 2005                -
; - Type de programme : Panel d'effets             -
; - Version de PB     : PureBasic v3.92            -
; --------------------------------------------------

; - Initialisation de l'écran
InitSprite() : InitKeyboard()

OpenScreen(1024,768,32,"Compilation d'effets")


; - Variables globales
Global Amplitude,VitChange,x,y,rayon,Red,Green,Blue,AffichRayon,Selection,Enleve_Clear

; - Définition des variables
x            = 0
y            = 40
Rayon        = 10
Red          = 0
Blue         = 0
Green        = 0
AffichRayon  = 0
Amplitude    = 0
VitChange    = 2
Selection    = 1
Enleve_Clear = 0


; - Timer
Debut       = GetTickCount_()


; - Procedure d'interaction avec le programme
Procedure Interaction()

; - Changement d'amplitude
 If KeyboardPushed(#PB_Key_Left)

   Amplitude + VitChange
  
    ElseIf KeyboardPushed(#PB_Key_Right)

   Amplitude - VitChange
  
    ElseIf KeyboardReleased(#PB_Key_Up)

   VitChange + 1
  
    ElseIf KeyboardReleased(#PB_Key_Down)
  
   VitChange - 1
   
 EndIf


; - Test limite
If Amplitude < 0

   Amplitude = 0

    ElseIf VitChange < 0

   VitChange = 0
   
EndIf

  
; - Test Choix effets
If KeyboardReleased(#PB_Key_1)
    
   ; - On affiche l'effet 1 si on appui sur 1 , et on réinitialise les variables utiliser avant !
   Selection = 1
   Red       = 0
   Blue      = 0 
   Green     = 0
   Rayon     = 2
   Amplitude = 0
   VitChange = 2
   x         = 0
   y         = 40 
   
EndIf

If KeyboardReleased(#PB_Key_2)
    
   ; - On affiche l'effet 2 si on appui sur 2 , et on réinitialise les variables utiliser avant !
   Selection = 2
   Red       = 0
   Blue      = 0 
   Green     = 0
   Rayon     = 2
   Amplitude = 0
   VitChange = 2
   x         = 0
   y         = 40 
   
EndIf

If KeyboardReleased(#PB_Key_3)
    
   ; - On affiche l'effet 3 si on appui sur 3 , et on réinitialise les variables utiliser avant !
   Selection = 3
   Red       = 0
   Blue      = 0 
   Green     = 0
   Rayon     = 2
   Amplitude = 0
   VitChange = 2
   x         = 0
   y         = 40 
   
EndIf

If KeyboardReleased(#PB_Key_4)
    
   ; - On affiche l'effet 4 si on appui sur 4 , et on réinitialise les variables utiliser avant !
   Selection = 4
   Red       = 0
   Blue      = 0 
   Green     = 0
   Rayon     = 2
   Amplitude = 0
   VitChange = 2
   x         = 0
   y         = 40 
   
EndIf

If KeyboardReleased(#PB_Key_5)
    
   ; - On affiche l'effet 5 si on appui sur 5 , et on réinitialise les variables utiliser avant !
   Selection = 5
   Red       = 0
   Blue      = 0 
   Green     = 0
   Rayon     = 2
   Amplitude = 0
   VitChange = 2
   x         = 0
   y         = 40 
   
EndIf

If KeyboardReleased(#PB_Key_6)
    
   ; - On affiche l'effet 6 si on appui sur 6 , et on réinitialise les variables utiliser avant !
   Selection = 6
   Red       = 0
   Blue      = 0 
   Green     = 0
   Rayon     = 2
   Amplitude = 0
   VitChange = 2
   x         = 0
   y         = 40 
   
EndIf

If KeyboardReleased(#PB_Key_7)
  
  Enleve_Clear = 1

EndIf

If KeyboardReleased(#PB_Key_8)
  
  Enleve_Clear = 0

EndIf

EndProcedure


; - Procédure d'affichage du texte
Procedure AfficheTexte()

 StartDrawing(ScreenOutput())

   Locate(820,0)
   DrawingMode(1)
   FrontColor(20,255,0)
   DrawText("Vitesse de changement : " + Str(VitChange))
   Locate(820,20)
   DrawText("Amplitude : "+Str(Amplitude))
   Locate(820,40)
   DrawText("Effet numéro : "+Str(Selection))
   FrontColor(100,255,255)
   Locate(0,0)
   DrawText("Up / Down = Changer vitesse, Left / Right = Amplitude de l'effet, Changer d'effets = 1,2,3,4,5,6")
   Locate(0,20)
   DrawText("ClearScreen On = 7 | Off = 8")
   
 StopDrawing()

EndProcedure


; - Procédure d'affichage de l'effet numéro 1
Procedure DrawEffet1()

 StartDrawing(ScreenOutput())

   For Angle = 0 To 700 Step 2

    Red = 255
    Green = Angle/3
    LineXY(x,y + Angle,x  + Angle,y + Cos(Sqr(Angle)+Sqr(Rayon))*Sqr(Amplitude) + Angle,RGB(Red,Green,Blue))

   Next Angle

 StopDrawing()

EndProcedure


; - Procédure d'affichage de l'effet numéro 2
Procedure DrawEffet2()

  StartDrawing(ScreenOutput())
  
   DrawingMode(1|4)
   FrontColor(0,200,255)
   Locate(4,90)
   DrawText("Line Effect : ")
   Box(0,88,85,20,RGB(255,0,0))
   
    For Angle = 0 To 700
 
     Red   = 255
     Green = 255
     Box(x + Angle,100 + y + Sin(Sqr(Angle)*Sqr(Amplitude)) - Cos(Sqr(Angle)+Sqr(Amplitude)) * 2 ,1,1,RGB(Red,Green*Angle/3,Blue))
     Box(x + Angle,150 + y + Cos(Sqr(Angle)+Sqr(Amplitude)) * 4,1,1,RGB(Red*Angle/3,Green,Blue)) 
     Box(x + Angle,220 + y + Sin(Sqr(Angle)*Sqr(Amplitude)) * Sqr(Angle) ,1,1,RGB(Red,Green*Angle/3,Blue))
     Box(x + Angle,600 + y + Sin(Sqr(Angle)*Sqr(Amplitude)) * Sqr(Amplitude*Sqr(Angle)) ,1,1,RGB(Red,Green*Angle/3,Blue))
     LineXY(x,400 + y,x + Angle,400 + y + Sqr(Amplitude) * Cos(Angle+Amplitude) * Sin(Angle + Amplitude),RGB(Red*Angle/3,Green,Blue*Angle/3))
     Box(x + Angle,300 + y + Sin(Sqr(Angle)*Sqr(Amplitude)) * Sqr(Amplitude) ,1,1,RGB(Red,Green*Angle/3,Blue))
      
    Next Angle
 
  StopDrawing()

EndProcedure


; - Procédure d'affichage de l'effet numéro 3
Procedure DrawEffet3()

 StartDrawing(ScreenOutput())

   For Angle = 0 To 700 Step 2

    Red = 255
    Green = Angle/3
   ; LineXY(x,y + Angle,x  + Angle,y * Cos(Sqr(Angle)+Cos(Sqr(Amplitude))) + Angle,RGB(Red,Green,Blue))
    LineXY(x,y + Angle,x  + Angle,y * Cos(Sqr(angle+Amplitude)) + Angle,RGB(Red,Green*Angle/3,Blue))

   Next Angle

 StopDrawing()

EndProcedure


; - Procédure d'affichage de l'effet numéro 4
Procedure DrawEffet4()

 StartDrawing(ScreenOutput())

   For Angle = 0 To 700 Step 2

    Red = 255
    Box(x + Angle,y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,100+y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,200+y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,300+y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,400+y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,500+y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,600+y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,700+y * Cos(Sqr(angle+Amplitude)+Angle) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
   
    Box(600+x + Angle,y * Cos(Sqr(angle)+Angle+Sqr(amplitude)) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(400+x + Angle,y * Cos(Sqr(angle)+Angle+Sqr(Amplitude)) + Angle,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    
   Next Angle

 StopDrawing()

EndProcedure

; - Procédure d'affichage de l'effet numéro 5
Procedure DrawEffet5()

 StartDrawing(ScreenOutput())

   For Angle = 0 To 700 Step 2

    Red = 255
    Box(x + Angle,y + Cos(Sqr(Amplitude*Cos(Angle/2))),1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,150+y * Cos(Sqr(Amplitude*Cos(Angle/2))),1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,200+y + Cos(Sqr(Amplitude)*Amplitude/Angle),1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,300+y + Cos(Sqr(Amplitude))/Angle*Amplitude,1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,400+y + Cos(Sqr(Amplitude/Sqr(Cos(Angle/2)))*Amplitude/Sqr(Angle)),1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,500+y + Sqr(Angle*Cos(Amplitude+Angle)),1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,600+y + Sqr(Amplitude*Cos(Angle)),1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Box(x + Angle,700+y + Sqr(Amplitude)+Sqr(Angle),1,1,RGB(Red*Angle/3,Green*Angle/3,Blue))

   Next Angle

 StopDrawing()

EndProcedure


; - Procédure d'affichage de l'effet numéro 6
Procedure DrawEffet6()

 StartDrawing(ScreenOutput())

   For Angle = 0 To 700 Step 2

    Red = 100
    Green = 255
    
    Circle(x + Angle,100+y * Cos(Sqr(Amplitude)+Sqr(Angle)),20,RGB(Red,Green*Angle/3,Blue*Angle/3))
    Circle(x + Angle,250+y * Cos(Sqr(Amplitude+Angle)),20,RGB(Red,Green*Angle/3,Blue))
    Circle(x + Angle,350+y * Cos(Sqr(Cos(Amplitude+Angle))),20,RGB(Red,Green*Angle/3,Blue))
    Circle(x + Angle,450+y + Cos(Angle*Sqr(Amplitude+*cos(Angle/2))),20,RGB(Red*Angle/3,Green*Angle/3,Blue))
    Circle(x + Angle,600+y * Cos(Angle*Sqr(Amplitude*Angle)),20,RGB(Red,Green*Angle/3,Blue))

   Next Angle

 StopDrawing()

EndProcedure


; - Procédure du Timer 
Procedure Timer()

  Vitesse = Pendant*180/1000-Pendant+1
  Apres   = GetTickCount_()
  Apres   - Debut = Pendant
  
EndProcedure


; - La boucle
Repeat

; - Initialisation de l'écran
ExamineKeyboard()

If Enleve_Clear = 0

  ClearScreen(0,0,0)

EndIf

; - Affichage des procédures
Timer()
Interaction()
AfficheTexte()

If     Selection = 1

  DrawEffet1()
  
ElseIf Selection = 2

  DrawEffet2()
  
ElseIf Selection = 3

  DrawEffet3()
  
ElseIf Selection = 4

  DrawEffet4()
  
ElseIf Selection = 5

  DrawEffet5()
  
ElseIf Selection = 6

  DrawEffet6()
  
EndIf


; - On flip , on quitte si touche appuyé
FlipBuffers()

Until KeyboardPushed(#PB_Key_Escape)
End
Vous pouvez compiler et l'executer .

Publié : jeu. 25/août/2005 23:16
par bombseb
je peut pas le compiler, il bloque sur ca :

GetTickCount_()

il ne reconnait pas cette fonction !

Publié : jeu. 25/août/2005 23:17
par bombseb
ah c'est peut etre parce qeu j'ai la version de démo de PB

Publié : jeu. 25/août/2005 23:26
par Dr. Dri
exactement, remplace-le par ElapsedMilliseconds()

Dri ;)

Publié : jeu. 25/août/2005 23:28
par bombseb
ah ok bon j'essaye ca et je vais me coucher :oops:

Publié : jeu. 25/août/2005 23:32
par bombseb
oh ca marche !


on dirais des spaggettis :P


bon aller, bonne nuit !