PureBasic

Forums PureBasic
Nous sommes le Ven 06/Déc/2019 11:59

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: Courbe de bezier
MessagePosté: Mer 20/Fév/2019 15:06 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 261
Code:
InitSprite()
Global p1.f = 0, p2.f = 0.33, p3.f = 0.66, p4.f = 1, Duration, time

Procedure Bezier(t.f,d,Target)
  t = t/d
  Result = Pow(1-t,3)*(Target*P1) + 3*Pow(1-t,2)*t*(Target*P2)+ 3*(1-t)*Pow(t,2)*(Target*P3) + Pow(t,3)*(Target*P4)
  ProcedureReturn Result
EndProcedure

Procedure Play()
  p2 = Val(GetGadgetText(0))/100
  p3 = Val(GetGadgetText(1))/100
  Duration = Val(GetGadgetText(2))
  time = ElapsedMilliseconds()
EndProcedure

OpenWindow(0,0,0,800,400,"",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,600,400)
CreateSprite(0,30,30)
StartDrawing(SpriteOutput(0))
Box(0,0,30,30,#Red)
StopDrawing()
StringGadget(0,700,10,80,20,"33",#PB_String_Numeric)
StringGadget(1,700,50,80,20,"66",#PB_String_Numeric)
StringGadget(2,700,80,80,20,"500",#PB_String_Numeric)
TextGadget(#PB_Any,600,10,80,20,"P1 : ")
TextGadget(#PB_Any,600,50,80,20,"P2 : ")
TextGadget(#PB_Any,600,80,80,20,"Time : ")
ButtonGadget(4,700,150,80,20,"Play")
BindGadgetEvent(4,@Play())
Repeat
  ClearScreen(0)
  If ElapsedMilliseconds()-time < Duration
    DisplaySprite(0,Bezier(ElapsedMilliseconds()-time,Duration,500),100)
  Else
    DisplaySprite(0,500,100)
  EndIf
  FlipBuffers()
Until WindowEvent() = #PB_Event_CloseWindow



Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 1 message ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye