ClipSprite Animation
Verfasst: 01.08.2014 20:00
Hallo an alle,
ich möchte eine Grafik.png je X64 ,Y64 die einen Gegner Flieger darstellt clippen.
Der Flieger hat 5 animations Bewegungen 2 mal der Default Flieger einmal oben bei X0,Y0 sowie unten X0,Y64 Pixel. also bis zur letzten Animation sinds nach links 320 Pixel sowie nach rechts 320Pixel
Nun wenn der Flieger -x geht soll die Grafik den Flieger nach rechts clippen und wenn +x nach links.
habe was über kompliziertes geproggt es funzt aber sehr Buggy.
Hier mal mein Kunstwerk xD schäme mich auch ist mir peinlich aber hier die wichtigen schnipsel:
ich möchte eine Grafik.png je X64 ,Y64 die einen Gegner Flieger darstellt clippen.
Der Flieger hat 5 animations Bewegungen 2 mal der Default Flieger einmal oben bei X0,Y0 sowie unten X0,Y64 Pixel. also bis zur letzten Animation sinds nach links 320 Pixel sowie nach rechts 320Pixel
Nun wenn der Flieger -x geht soll die Grafik den Flieger nach rechts clippen und wenn +x nach links.
habe was über kompliziertes geproggt es funzt aber sehr Buggy.
Hier mal mein Kunstwerk xD schäme mich auch ist mir peinlich aber hier die wichtigen schnipsel:
Code: Alles auswählen
;// Display Enemy
If enemy()\Sprite_Enemy = #Sprite_Enemy_1
ClipSprite(#Sprite_Enemy_1, Clip_EnemyX, Clip_EnemyY, 64, 64)
DisplayTransparentSprite(#Sprite_Enemy_1, enemy()\Enemy_X, enemy()\Enemy_Y)
enemy()\ENEMY_ON_SCREEN + 1
EndIf
Procedure Enemy_Move(X, Y, ENEMY_DELAY, Move_ID, speedX, speedY)
Select Move_ID
Case 3
With enemy()
If \ENEMY_DELAY = 0
\ENEMY_DELAY = #Enemy_Move_Delay_3
EndIf
If \ENEMY_DELAY > 0 And \ENEMY_DELAY =< #Enemy_Move_Delay_3
\Enemy_X + \SpeedX
\Enemy_Y + \speedY
\ENEMY_DELAY - 1
Enemy_01_Animation = -1
If \ENEMY_DELAY = 0
Enemy_01_Animation = 0
\ENEMY_DELAY = -#Enemy_Move_Delay_3
EndIf
EndIf
If \ENEMY_DELAY <0 And \ENEMY_DELAY => -#Enemy_Move_Delay_3
\Enemy_X - \speedX
\Enemy_Y + \speedY
\ENEMY_DELAY + 1
Enemy_01_Animation = 1
; Debug "+1anima: "+Str(Enemy_01_Animation)
If \ENEMY_DELAY = 1
Enemy_01_Animation = 0
\ENEMY_DELAY = #Enemy_Move_Delay_3
EndIf
EndIf
If Enemy_01_Animation = 1
Enemy_01_Animation_Delay + 1
If Enemy_01_Animation_Delay = #Enemy_01_Anim_Delay
Animation_Counter + 1
Clip_EnemyX = Animation_Counter*64
Enemy_01_Animation_Delay = 0
ElseIf Animation_Counter = 5
Enemy_01_Animation = 2
Enemy_01_Animation_Delay = 0
EndIf
While Enemy_01_Animation = 2
Enemy_01_Animation_Delay + 1
If Enemy_01_Animation_Delay = #Enemy_01_Anim_Delay
Animation_Counter - 1
Clip_EnemyX = Animation_Counter*64
Enemy_01_Animation_Delay = 0
ElseIf Animation_Counter = 0
Enemy_01_Animation = 1
EndIf
Wend
EndIf
If Enemy_01_Animation = -1
Enemy_01_Animation_Delay + 1
If Enemy_01_Animation_Delay = #Enemy_01_Anim_Delay
Animation_Counter + 1
Clip_EnemyY = 64
Clip_EnemyX = Animation_Counter*64
Enemy_01_Animation_Delay = 0
ElseIf Animation_Counter = 5
Enemy_01_Animation = -2
Enemy_01_Animation_Delay = 0
EndIf
While Enemy_01_Animation = -2
Enemy_01_Animation_Delay + 1
Debug "+1delay3: "+Str(Enemy_01_Animation_Delay)
If Enemy_01_Animation_Delay = #Enemy_01_Anim_Delay
Animation_Counter - 1
Clip_EnemyY = 64
Clip_EnemyX = Animation_Counter*64
Enemy_01_Animation_Delay = 0
Debug "+1anima4: "+Str(Animation_Counter*64)
ElseIf Animation_Counter = 0
Enemy_01_Animation = 1
EndIf
Wend
EndIf
EndWith
EndSelect
EndProcedure