Page 1 sur 1

VectorDrawing Effect

Publié : dim. 06/déc./2015 10:44
par falsam
J'ai eu envie de jouer avec la bibliothèque VectorDrawing.

■ Drawing Lines.
- Cet essai trace des Dotted Line (Lignes en pointillés) toutes les 40 millisecondes.
- Chaque ligne est reliée à la précédente.
- Sur chaque angle est tracé un cercle en pointillé.
- Chaque ligne s’estompe toute les 30 millisecondes.

Code : Tout sélectionner

; PB 5.40 (x86)
; VectorDrawing : Drawing Lines
;

EnableExplicit

Enumeration
  #MainForm
  #TimerBlank
  #TimerLine
  
  #Canvas
EndEnumeration

Declare Clear()
Declare DrawLines()

Global LastX = Random(1024)
Global LastY = Random(768)
Global Hue = 0

If OpenWindow(#MainForm, 0, 0, 1024, 768, "VectorDrawing: Drawing Lines.", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  CanvasGadget(#Canvas, 0, 0, 1024, 768)
  AddWindowTimer(#MainForm, #TimerBlank, 30)
  AddWindowTimer(#MainForm, #TimerLine, 40)
  
  BindEvent(#PB_Event_Timer, @Clear(), #MainForm, #TimerBlank)
  BindEvent(#PB_Event_Timer, @DrawLines(), #MainForm, #TimerLine)
  
  Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf

Procedure Clear()
  StartVectorDrawing(CanvasVectorOutput(#Canvas))
  AddPathBox(0, 0, 1024, 768)
  VectorSourceColor(RGBA(0, 0, 0, 10))
  FillPath()
  StopVectorDrawing()
EndProcedure


Procedure DrawLines()  
  Protected NewX, NewY
  
  StartVectorDrawing(CanvasVectorOutput(#Canvas))
  
  NewX = Random(1024)
  NewY = Random(768)
  
  MovePathCursor(LastX, LastY)  
    
  AddPathLine(NewX-LastX, NewY-LastY, #PB_Path_Relative)
  AddPathCircle(NewX, NewY, 15)
  
  VectorSourceColor(RGBA(Random(255), Random(255), Random(255), 255))
  DotPath(5, 10, #PB_Path_RoundEnd)
  
  StopVectorDrawing()
  
  LastX = NewX
  LastY = NewY
EndProcedure
N'hésitez pas à poster vos effets visuels à partir de cette bibliothèque.

Re: VectorDrawing Effect

Publié : dim. 06/déc./2015 13:20
par Shadow
Salut,

Pas mal, c'est très sympa comme effet :)
Ceci pourrait faire un écran de veille.
Merci.

Re: VectorDrawing Effect

Publié : mar. 08/déc./2015 9:54
par Mesa
Chez moi, il y a un "mystère", le fond s'estompe progressivement du blanc au noir !
Pourtant, je ne vois pas le codage de cet effet.

Vous avez cet effet ?

M.

Re: VectorDrawing Effect

Publié : mar. 08/déc./2015 10:49
par falsam
Oui Mesa et c'est voulu :wink:

Le fond s'estompe toute les 30 millisecondes par superposition de Box couleur noir avec une opacité à 10. Regarde la procédure Clear().

Re: VectorDrawing Effect

Publié : mar. 08/déc./2015 12:27
par Ar-S
Oh c'est sympa cet effet ! et très fluide sur mon portable sans pilote graphique !

Re: VectorDrawing Effect

Publié : mar. 08/déc./2015 12:34
par falsam
Initialement je voulais faire des courbes de bézier mais je n'ai pas trouver comment le faire.

Re: VectorDrawing Effect

Publié : jeu. 10/déc./2015 14:02
par microdevweb
Bonjour Falsam,

Sympa comme effet