;
; ------------------------------------------------------------
;
; SpiderBasic - Touch screen example file
;
; (c) Fantaisie Software
;
; ------------------------------------------------------------
;
OpenScreen(800, 600, 32, "TouchScreen")
Procedure RenderFrame()
Static SpriteFinger = -1
Static x, y
ClearScreen(RGB(0, 0, 0))
If ExamineTouchScreen() ; TouchScreen is detected and available
For k = 0 To 4 ; Up to 5 possible fingers at once. We need to check them all, as some finger can be removed in between
If TouchScreenPushed(k) And SpriteFinger = -1 ; One finger press detected, use it to move the sprite
SpriteFinger = k
EndIf
Next
If SpriteFinger <> -1 And TouchScreenPushed(SpriteFinger) ; Ensure the finger used to move the sprite is still pressed
x = TouchX(SpriteFinger) - SpriteWidth(0) / 2 ; We want our finger centered in the sprite
y = TouchY(SpriteFinger) - SpriteHeight(0) / 2
Else
SpriteFinger = -1
EndIf
DisplaySprite(0, x, y)
FlipBuffers(); // continue the rendering
Else
Debug "No touchscreen device detected"
EndIf
EndProcedure
Procedure Loading(Type, Filename$, ObjectId)
Static NbLoadedElements
NbLoadedElements+1
If NbLoadedElements = 1 ; The loading of all images and sounds is finished, we can start the rendering
FlipBuffers() ; // start the rendering
EndIf
EndProcedure
Procedure LoadingError(Type, Filename$, ObjectId)
Debug Filename$ + ": loading error"
EndProcedure
; Register the loading event before calling any resource load command
BindEvent(#PB_Event_Loading, @Loading())
BindEvent(#PB_Event_LoadingError, @LoadingError())
BindEvent(#PB_Event_RenderFrame, @RenderFrame())
LoadSprite(0, "Data/SpiderBasicLogo.png")