Habe den Code nun verändert, das er Bilder zur Animation eines Sprite laden soll.
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenWindow(0,0,0,640,480,"Background-Tiles-Demo", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0)
#AnimFrames = 100 ; 16 versch. Anim-Frames
#AnimStart = 1 ; erstes Sprite der Animation
;{ der ganze kram hier in diesem kommentarblock
; dient nur zum erzeugen der sprites
; wenn die sprites geladen werden,
; entfällt dieser block komplett.
CreateSprite(0,160,160) ; hintergrund-tile
StartDrawing(SpriteOutput(0))
Box(0,0,160,160,$200810)
For n=0 To 79
Plot(2*n,Random(159),Random($FFFFFF))
Next
StopDrawing()
TransparentSpriteColor(-1,$FF00FF)
For Anim=0 To #AnimFrames-1
CreateSprite(#AnimStart+Anim,200,200)
StartDrawing(SpriteOutput(#AnimStart+Anim))
Box(0,0,80,80,$FF00FF)
LoadSprite(#AnimFrames+Anim, "gfx/img/player.bmp")
LoadSprite(#AnimFrames+Anim, "gfx/img/player1.bmp")
LoadSprite(#AnimFrames+Anim, "gfx/img/player2.bmp")
LoadSprite(#AnimFrames+Anim, "gfx/img/player3.bmp")
StopDrawing()
;}
BackX.f = 0
BackY.f = 0
MoveX.f = 0
MoveY.f = 0
Repeat
ExamineKeyboard()
event = WindowEvent()
ClearScreen(0)
If KeyboardPushed(#PB_Key_Right)
MoveX -0.2 : If MoveX < -4 : MoveX = -4 : EndIf
EndIf
If KeyboardPushed(#PB_Key_Left)
MoveX +0.2 : If MoveX > 4 : MoveX = 4 : EndIf
EndIf
If MoveX < 0 : MoveX +0.1 : EndIf
If MoveX > 0 : MoveX -0.1 : EndIf
If KeyboardPushed(#PB_Key_Down)
MoveY -0.2 : If MoveY < -3 : MoveY = -3 : EndIf
EndIf
If KeyboardPushed(#PB_Key_Up)
MoveY +0.2 : If MoveY > 5 : MoveY = 5 : EndIf
EndIf
If MoveY < 1 : MoveY +0.1 : EndIf
If MoveY > 1 : MoveY -0.1 : EndIf
BackX + MoveX
If BackX < 0 : BackX + 160 : EndIf
If BackX > 159 : BackX - 160 : EndIf
BackY + MoveY
If BackY < 0 : BackY + 160 : EndIf
If BackY > 159 : BackY - 160 : EndIf
For t=0 To 3 ; 480/160 = 3 , einer mehr = 4
For n=0 To 4 ; 640/160 = 4 , einer mehr = 5
DisplaySprite(0, 160*n -160 + BackX, 160*t -160 + BackY)
Next
Next
Anim+1: If Anim>#AnimFrames-1 : Anim = 0 : EndIf
DisplayTransparentSprite(#AnimStart+Anim,280,360)
FlipBuffers()
Until event = #PB_Event_CloseWindow
