Source:Distorsion.pb

100% PureBasic
100% PureBasic

Merci à Epyx pour son image .

;Comtois 09/04/05

;{- Initialisation
#ScreenWidth  = 800 : #ScreenHeight = 600 : #ScreenDepth  = 32
If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester( "Erreur" , "Impossible d'initialiser DirectX 7 Ou plus" , 0 ) : End
ElseIf OpenScreen( #ScreenWidth , #ScreenHeight , #ScreenDepth , "Effets" ) = 0
  MessageRequester( "Erreur" , "Impossible d'ouvrir l'écran " , 0 ) : End
EndIf

UsePNGImageDecoder()

LoadSprite(0,"pbier.png")
HauteurSprite = SpriteHeight(0)
Angle   = 0
Pas     = 1
Vitesse = 2
Amplitude = 25

CentreX = (#ScreenWidth  - SpriteWidth(0))  / 2
CentreY = (#ScreenHeight - SpriteHeight(0)) / 2

Repeat
  ClearScreen(0,0,0)
  StartDrawing(ScreenOutput())
  DrawingMode(1)
  FrontColor(255,255,255)
  DrawText("Amusez vous avec les touches up/down, Left/Right et PageUp/PageDown")
  StopDrawing()
  PositionY = 0
  For i = 1 To HauteurSprite
    ClipSprite(0, 0, PositionY, SpriteWidth(0), 1)
    DisplaySprite(0, CentreX + (Sin((Angle + i * Pas) * 0.0174533 ) * Amplitude) , CentreY + i)
    PositionY + 1
  Next i
 
  Angle + Vitesse
 
  ExamineKeyboard()
 
  If KeyboardPushed(#PB_Key_PageUp)  
   
    Amplitude + 1
    If Amplitude > CentreX : Amplitude = CentreX : EndIf
   
  ElseIf KeyboardPushed( #PB_Key_PageDown)
   
    Amplitude - 1
    If Amplitude < 0  : Amplitude = 0 : EndIf
   
  EndIf
 
  If KeyboardReleased(#PB_Key_Up)
 
    Vitesse + 1
    If Vitesse > 30 : Vitesse = 30 : EndIf
   
  ElseIf KeyboardReleased(#PB_Key_Down)  
   
    Vitesse - 1
    If Vitesse < 0  : Vitesse = 0 : EndIf
   
  EndIf
 
  If KeyboardReleased(#PB_Key_Left)  
   
    Pas + 1
    If Pas > 20 : Pas = 20 : EndIf
   
  ElseIf KeyboardReleased(#PB_Key_Right  )
   
    Pas - 1
    If Pas < 0 : Pas = 0 : EndIf
   
  EndIf
 
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)