Log In  

hi all,

i'm new to pico8 and coding largely, and i'd appreciate some help. i'm working on a super simple file just to familiarize myself with different aspects of what i'd like to eventually make for real.

what i'm trying to do is cause a specific set of sprites to animate whenever the player presses btn(4).

so far, i've got it set up so that when the player presses z, the function draw_attack() is called (below).

the problem i'm running into is that the animation ceases after one frame. i have no idea why. here's my code that seems to be the problem:

function draw_attack()
    if player.flip then
        spr(atkanim.spr,player.x-6,player.y)
        for i=0,3 do
            if atkanim.spr<=52 then
                atkanim.spr+=0.5
                sfx(0)
            else
                atkanim.spr=48
            end
        end
    else
        spr(48,player.x+6,player.y)
        sfx(0)
    end
end

what i would expect to happen with this when the function is called: the sprites are drawn in sequence based on the for loop.

what actually happens: the first frame of the sequence appears in the right place, and the sound effect works, and then the sprite disappears.

if i spam the key that calls the function, the sprite seems to cycle through the set of sprites i've defined but only appearing while the key is pressed for 1 frame each time. does this make sense?

i realize there are simpler ways to animate but i haven't really found a tutorial that i can follow... i'd appreciate if anyone is willing to help me wrap my head around this. thanks!

P#80430 2020-08-06 21:43

that function draws the sprite once, then runs through the for loop changing a variable in 0.5 increments while playing a sound each time and drawing nothing. edit:assuming the player is facing the correct direction, of course

In case the info helps you notice what's going on: there's no such thing as a sprite "object" that does or means anything. spr() is just a handy way to draw a chunk of pixels to the screen.

P#80437 2020-08-07 00:10 ( Edited 2020-08-07 00:13)

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2024-04-19 10:08:27 | 0.008s | Q:8