reset the "Mark.CurrentY=0"
into the IF condition where the sprite is on Frame 20
Where the Jump=0 and the Play of the Idle animation
Also noticed the in the 4th IF condition where its checking the jumping animation going down that you are checking for frame
<=20
but then immediately checking =20 in the 5th IF condition
Try changing the <=20 to <=19
Like this
Repeat
if (GetRawKeyPressed(32) AND NOT Jump)
PlaySprite(Mark.Sprite, 15, 0, 11, 20) // Jumping Animation
Jump = 1
i = 0
endif
if GetSpriteCurrentFrame(Mark.Sprite) >= 11 AND GetSpriteCurrentFrame(Mark.Sprite) <= 15
Mark.CurrentY = Mark.CurrentY - 10
SetSpriteY(Mark.Sprite, Mark.CurrentY)
endif
if GetSpriteCurrentFrame(Mark.Sprite) >= 16 AND GetSpriteCurrentFrame(Mark.Sprite) <= 19
Mark.CurrentY = Mark.CurrentY + 10
SetSpriteY(Mark.Sprite, Mark.CurrentY)
endif
if GetSpriteCurrentFrame(Mark.Sprite) = 20
Jump = 0
Mark.CurrentY = 0
PlaySprite(Mark.Sprite, 15, 1, 1, 10) // Idle Animation
endif
Sync()
until GetRawKeyPressed(27)
Damo
Using Tier 1 AppGameKit V2
Started coding with AMOS