PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Sprite example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Ошибка", "Спрайт-система не может быть инициализирована", 0)
  End
EndIf

;
; Откроем экран 800*600 - 32 бита
;
If OpenScreen(800, 600, 32, "Sprite")

  ; Загрузим 16-битный спрайт (который на самом деле является 24-битным изображением, поскольку BMP не поддерживает 16-битный формат)
  ; 
  LoadSprite(0, #PB_Compiler_Home + "examples/sources/Data/PureBasic.bmp")
  CopySprite(0, 1, 0)
  
  Repeat
    
    ; Инвертируем буферы (задняя часть становится передней (видимой) ... И мы можем сделать рендеринг сзади)
    
    FlipBuffers()
    
    ClearScreen(RGB(0,0,0))
    
    ; Нарисуем наш спрайт

    ClipSprite(0, 0, 0, x, x/8)
     
    DisplaySprite(0, x, 100)
    DisplaySprite(1, x, x)
    DisplaySprite(0, 600-x, x)
    
    x+1
    
    ExamineKeyboard()
  Until KeyboardPushed(#PB_Key_Escape)
  
Else
  MessageRequester("Ошибка", "Невозможно открыть 800*600 - 32 битный экран!", 0)
EndIf