DataSection : IncludeBinary => using Data URI
Posted: Fri Jan 16, 2015 11:16 pm
Spiderbasic IncludeBinary command could use Data URI.
Here is a test of Data URI:
Here is a test of Data URI:
Code: Select all
Procedure.i CreateInstance2D(Sprite,x,y,Angle=0,Intensity=255,Color=$FFFFFF)
!var a,sp;
!if(a=spider.sprite.objects.Get(v_Sprite)) sp=new PIXI.Sprite(a.texture), sp.position.x=v_x, sp.position.y=v_y;
!spider.screen.stage.addChild(sp)
!return sp;
EndProcedure
CompilerIf #PB_Compiler_IsMainFile
; *************************
; EXAMPLE
; *************************
Procedure DrawScreenContent()
ClearScreen(RGB(0, 0, 0))
FlipBuffers() ; continue the rendering
EndProcedure
Procedure Loading(Type, Filename$)
Static NbLoadedElements
Debug Filename$ + " loaded"
NbLoadedElements+1
If NbLoadedElements = 1
For i=1 To 100
x=Random(ScreenWidth()-SpriteWidth(1),SpriteWidth(1))
y=Random(ScreenHeight()-SpriteHeight(1),SpriteHeight(1))
CreateInstance2D(1,x,y)
Next
FlipBuffers() ; start the rendering
EndIf
EndProcedure
OpenScreen(800, 600, 32, "Sprite Instances - persistent 2D entities")
BindEvent(#PB_Event_Loading, @Loading())
BindEvent(#PB_Event_RenderFrame, @DrawScreenContent())
DataSection
SpaceInvaders:
;IncludeBinary "Space_Invaders-32x32.png"
!v_IncludeBinary_SpaceInvaders$='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAHtUlEQVRYw8WXaYxeVRnHf2d577vNO9POdN6ZdmiD0NI2JAUaLIJCwDYEYiQGIxgiJmqMxi2aaAIS4oKgEpcYlwRN/GDEpU0gMVRsRUJKJewgYDst7XQK05lpZ'+
!'323+97lLH640+kMM6MSNZ7kfDn33Of5P8//2Q78n5dY6cNra267BfgUcBGg35ZQKRFaIXMalQ/QpQK60kGwqssV+qrP5qvVLxXuu2GY5QS/tuY2CXwf+OLbN0cglERqhczlUIUAXS6Rq3QQdK8mX+1FVyofMI3GGuDqJQAGL/5MKb+h+ltv3U1vT6/IlEuBUJnlMsihCnmU1KhYkq/2IpTC1Gqkjeb'+
!'2s//OA7AHj/Uz1donErsN41bW5j3eefAeROZuhFjRI5QDfDlP9OcjJKenMM0mptmSSwD4Q2N34vw2v5Je63BRjA0jXGLwzoEQGc/FPKqYR+SWCZXZFuQUcnM3yeBxbKuFCdssAeDa8baVjLZRgqk1MY0QG0a0bUJS0qjEUUoFulxEdxTRXR2ociGjZOGKwVcC0lod225j2/EyAKJkqdVz5+l0nbTWZ'+
!'CYwNK/fSGX7JgqFAkmScOr4KfRjh6meapBrtcmt7kR3FJeAcNJiGk1sFGPjZCmAhYfzAIwlmaqTztSZ6JHoT+/igoF1aK3xziOVpK+vj+kt5zOy+wDrnh7HpwZsF7KYXwxAaUwrxCYpLkmX8UCcLgFg6i3SmTqNtI25fRd91V7OvD7K6ESMq3SikphulbD+0vMxN1/FxMm9VMcbIAS57s4sQM/K1x7'+
!'TjnFpijN2/lwuBLBw2zDC1FuYRsjMJX10rulmavgMr+95js7pBHlkmMp4g9rLYxzZ/xKlUon2tRtJ6y1MvYVtthfLTFNsnOBSg18WQJIs2jaMMGEWMOkFPUgpObznr1RHGuz+zQO0BxKmcxOsGppg+MEnEUIg1vcQe5P922ovlpnaTLldnOIrUuCiBBeluCSBUoD3nsaJ07jBBk+cOchz3ztJ2GzxQ'+
!'38dzdoM1lqklBgFLklxUYxbkJbeqKx2vGUt8EC6ZHszh3i8hjGG8ua1TI5N8ol0K/HB17n2cI54eBLO68IYg4li5FSYWZuYzPXzstyi7PqXALyxmXLnkU+fIAxDLr39Wo6vL9BPN9/tupFdwWYO65jL7ryZMAwxTx1DOQ/O4a3NAu6sPGvx3uO8wzizDAXJW7LAugyrgPIzJ6n9bYjgnVt4/+4v8+r'+
!'ugwwfOkWhfxXXfPg9BKuLTI6MUdjzIkIGcwL9IpnCWoy3pN5ivV0KwCdm2W4thKBULBDe9yhTdzg6Lr2QrbdciVIK5xxRFDFx/A3sPY/QHTlEWYAgK9ULZDpriVxC4g3Wu2U8kJplmo7LGo8QdOfyzH71D8xevp7G1ZtQfV24Rhvz/DD5x4+yplREFfN47/HWZRQKtwCAIXQxsUtXAPAWClw7xlqLa'+
!'0X41CC0YlVPJx2Dk7SfH8Eag1SSQqlAUCmDkFmNb8d4KbCtCF0pgcxKsjGGlo2IXYpbEIbnKFjgAWcs6XQdVe3CxxIzG6HyOVSpQK4QoIPcuXYsBCiJi1JsFIOS5HrKJIOn8N6hy8UspKyhaSNil+A454JlKchqQEJ6ZATvPbneLlwzQnqPDDQd119G6YbtJMfGqP98Hz61eGtBScDTevYoMsghwhi'+
!'Z0yAExhoatp0B8O6PS9LQG2u8sXPpl6XM2Wg2k/Vzk08+YGpbP5VrLqb8wXcxWzw3kPh2gq23F/A4FwvGksQRDRPStNEbLRd/fikFxuzDs2semVb4nMoaihQIrUBk0bzno3dTvuNHRNMNrtlwEZ1BB0JJRE6dpRyhFULJ+bp/8shhIhHSW6j84h3BumlqJxZPxccu+ULgnd8D3HR2AvJJincum3IDj'+
!'VAKgDdNyKun3zR9lS5zefdApsT7bFIyViJAaOW8FgUhBOPhaV4cfYGBXC8DQT+revoO5c9fu3Pj/nvGF00Nv9zykY9vXN39QGm8ppcWTfFvjqh+/r4sBHDleRx54nGq0wE9HVWK/b3o7goIcfuF+77563kKDn/ovh+7E+Ofs2P1BcrEf/bUaKeIJ9/kqvfejF5Vpv3iELIY4J3/ia2Fv1t0e3DjJ9v'+
!'eusL/6gXUcd02nLGjZnTqYxc+du/+ZeqA/QbwNeC/DsJ7z8hrxw4dSEbe95dq6429e/fS29vLjh07MgD79+/nhTNn7u98+JWf9R2a2l5q2TuV89f/M5ZHwyZ9xbLRQqz4bJtNYv5em2YmiRgbi47u29Q0t7771oIQwuTzeTM6OuokQD6fl0opffTKqvv9jV0vnw7SB7CO5ba3jmdmxmZ/UHvpO4+0j'+
!'n/WWRetdHd8oMKppDn7crn2rQPb7Fd27twZrlu3Tnrvcc7hvUcPDQ0xNjYmRWaJnJyc1CNRbUvZlScFaJVltJYIaXDmQDz+1LeT5386YZuDj84OGeDuXfnz7gpQJYd3c6XMeDBpT+fgw/2n7129ef0rO7ZujarVqvHeG+ecSZLEDQwMoJVScm6Gd4Dx3nN/59CvarXaQ8aYwBijrbXSGIO1ljRN69b'+
!'aJmAAeVftqYe+nsv9SSklpZQopVBKGa21KR8rhxs2bQjXrl1rtNZuTnkSx7G74oorAPgHa3DAKxCUqagAAAAASUVORK5CYII=';
EndDataSection
LoadSprite(1, IncludeBinary_SpaceInvaders$,#PB_Sprite_AlphaBlending)
CompilerEndIf