Program TryPic;
Uses
   GraphABC,
   ABCSprites;

Var
   //V: array[0..2] of Picture;
   i: integer;
   x,y: integer;
   s: integer;
   k: integer;
   W, V: SpriteABC;
  
      // процедура обработки нажатия клавиш
      // эта процедура срабатывает при отпускании клавиш.
      //
Procedure KeyUp1(Key: integer);
Begin
  case Key of
    VK_Left:  W.MoveOn(-50, 0);
    VK_Right: W.MoveOn(+50, 0);
    VK_Up:    W.MoveOn(0, -50);
    VK_Down:  W.MoveOn(0, +50);
    
    VK_W:   V.MoveOn(0, -50);
    VK_A:   V.MoveOn(-50, 0);
    VK_S:   V.MoveOn(0, +50);
    VK_D:   V.MoveOn(+50, 0);
  
    VK_Escape:  CloseWindow;
  end; // end case
End;
   
   
BEGIN
  SetWindowSize(800, 400);
  SetBrushStyle(bsHatch);
  SetBrushHatch(bhWave);
  ClearWindow(clGreen);

    // prepare 1-st cat
  W:=SpriteABC.Create(0,0,'frame1.png');
  W.Add('frame2.png');
  W.Add('frame3.png');

  W.TransparentColor := clWhite;
  W.Transparent := true;

  W.FlipHorizontal;

    // prepare 2-nd cat
  V:=SpriteABC.Create(0,0,'frame1.png');
  V.Add('frame2.png');
  V.Add('frame3.png');

  V.TransparentColor := clWhite;
  V.Transparent := true;

  W.Speed:=10;
  V.Speed:=7;

  W.Active := TRUE;
  V.Active := TRUE;

  StartSprites;     // must be! starts independent thread for sprites animation
        // подключаем процедуру обработки клавиш
  OnKeyUp:=KeyUp1;
END.