"Spiel" problem
clipsprite() sägt dir aus nem Sprite nen bestimmten Bereich aus.
Clipsprite(0, Anim*spritewidth(0)/3, 0, spritewidth(0)/3, spriteheight(#Sprite))
Anim + 1
if Anim => 2 : Anim = 0 : endif
Da ich nicht wusste wie groß deine Bilder sind hab ich das ausgerechnet.
Der Bereich wird dann vom nächsten displaytransparentsprite() genutzt.
Je nach dem Wert von Anim wird also der mit 1, 2 oder 3 gekennzeichnete Bereih angezeigt.
Also muss dein Bild auch so aufgebau sein.
Edit: So ungefähr:
OK?
Code: Alles auswählen
##########################
# | | #
# | | #
# | | #
# 0 | 1 | 2 #
# | | #
# | | #
##########################
Anim + 1
if Anim => 2 : Anim = 0 : endif
Da ich nicht wusste wie groß deine Bilder sind hab ich das ausgerechnet.
Der Bereich wird dann vom nächsten displaytransparentsprite() genutzt.
Je nach dem Wert von Anim wird also der mit 1, 2 oder 3 gekennzeichnete Bereih angezeigt.
Also muss dein Bild auch so aufgebau sein.
Edit: So ungefähr:
Code: Alles auswählen
InitSprite()
InitKeyboard() ; ende der abfrage
OpenScreen(800,600,32,"Vollbild")
LoadSprite(0,"bmp\Player 1\player1 v .bmp",0)
LoadSprite(1,"bmp\Player 1\player1 h .bmp",0)
LoadSprite(2,"bmp\Player 1\player1 l .bmp",0)
LoadSprite(3,"bmp\Player 1\player1 r .bmp",0)
LoadSprite(4,"bmp\Player 1\player1 v g.bmp",0)
LoadSprite(5,"bmp\Player 1\player1 h g.bmp",0)
LoadSprite(6,"bmp\Player 1\player1 l g.bmp",0)
LoadSprite(7,"bmp\Player 1\player1 r g.bmp",0)
position_x1 = 0
position_y1 = 0
for i=0 to 3 ; sieht besser aus :)
TransparentSpriteColor(i, 255, 255, 255)
next
Repeat
FlipBuffers()
ClearScreen(0,255,255)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Right)
position_x + 2
If position_x > 760
position_x = 760
EndIf
EndIf
If KeyboardPushed(#PB_Key_Left)
position_x - 2
If position_x < -5
position_x = -5
EndIf
EndIf
If KeyboardPushed(#PB_Key_Up)
position_y - 2
If position_y < -5
position_y = -5
EndIf
EndIf
If KeyboardPushed(#PB_Key_Down)
position_y + 2
If position_y > 560
position_y = 560
EndIf
EndIf
If KeyboardPushed(#PB_Key_Down)
richtung=0
EndIf
If KeyboardPushed(#PB_Key_Up)
richtung=1
EndIf
If KeyboardPushed(#PB_Key_Left)
richtung=2
EndIf
If KeyboardPushed(#PB_Key_Right)
richtung=3
EndIf
Select richtung
Case 0
ClipSprite(0, Anim * spritewidth(0)/3, 0, spritewidth(0)/3, spriteheight(0))
DisplayTransparentSprite(0,position_x,position_y)
Case 1
ClipSprite(1, Anim * spritewidth(1)/3, 0, spritewidth(1)/3, spriteheight(1))
DisplayTransparentSprite(1,position_x,position_y)
Case 2
ClipSprite(2, Anim * spritewidth(2)/3, 0, spritewidth(2)/3, spriteheight(2))
DisplayTransparentSprite(2,position_x,position_y)
Case 3
ClipSprite(3, Anim * spritewidth(3)/3, 0, spritewidth(3)/3, spriteheight(3))
DisplayTransparentSprite(3,position_x,position_y)
EndSelect
Anim + 1
if Anim => 2 : Anim = 0 : endif
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
ForEver