Code: Select all
; ======================================
; EXAMPLE 2
; ======================================
DisableExplicit
InitMouse()
InitKeyboard()
InitEngine3D()
InitSprite()
Add3DArchive(".", #PB_3DArchive_FileSystem)
#w=800
#h=600
OpenWindow(0, 0, 0, #w, #h, "Sprite")
OpenWindowedScreen(WindowID(0), 0, 0, #w, #h, 0, 0, 0)
If CreateView(0, 0, 0, #w, #h)
   If AddLayer(1, "bub.png")
      AddSprite(10, 50, 50, 100, 100)
      SetSpriteColor(10, RGB(255, 0, 0))
   EndIf
   If AddLayer(2, "bub.png")
      For i=0 To 100
         sk=AddSprite(#PB_Any, Random(400)+200, Random(400)+100, 10, 10)
         SetSpriteGradient(sk, 1, RGB(255, 0, 255), RGB(255, 255, 0), 255, 200)
      Next
   EndIf
   If AddLayer(3, "bub.png")
      For i=0 To 100
         sk=AddSprite(#PB_Any, Random(400)+200, Random(400)+100, 20, 20)
         SetSpriteGradient(sk, 1, RGB(255, 0, 0), RGB(0, 255, 0), 255, 200)
      Next
   EndIf
   If AddLayer(4, "bub.png")
      For i=0 To 200
         sk=AddSprite(#PB_Any, Random(800), Random(600), 20, 20)
         SetSpriteTransparency(sk,100+Random(155))
         kx.f=(100+Random(50))/100
         ScaleSprite(sk,kx,kx)
         SetSpriteColor(sk,RGB(100,200,255))
      Next
   EndIf
EndIf
Repeat
   dt=ElapsedMilliseconds()-t0
   t0=ElapsedMilliseconds()
   t+dt
   co.f=Cos(2*#PI*t/5000.0)
   ScaleLayer(2, 1.0+0.1*co, 1)
   ScaleLayer(3, 1.0+0.1*co, 1.0+0.1*co)
   TurnLayer(3,0.05)
   ScaleLayer(4, 1.0+0.2*co, 1.0+0.2*co)
   TurnLayer(4,0.1)
   
   RenderViews()
   RenderWorld()
   FlipBuffers()
   
   ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) Or WaitWindowEvent(0)=#PB_Event_CloseWindow