Search code examples
game-makergame-maker-studio-2game-maker-language

is it acceptable to attach an action to a certain frame in a sprite? (Gamemaker)


So basically I'm making an attack mechanic where the player character charges in the direction of the mouse, but I want for there to be a slight input delay and I'm thinking about doing that by checking if the attacking sprite has reached a certain frame. Is this acceptable? Here's my code:

//attacking
speed = attackvel
attackvel -= 0.1
attackvel = clamp(attackvel,0,10)
if attack and attackrecoil = false then
{
    direction = point_direction(x,y,mouse_x,mouse_y)
    attackvel = 50
    attackrecoil = true
}

If this isn't efficient ill just use a timer but I don't really like using timers because I'm afraid they'll slow my game down.


Solution

  • You can attach broadcast messages to your sprites! It's this button in the sprite view

    A screenshot of GameMaker's sprite editor showing the "Add broadcast message" button above the frame list. It has what I presume is an icon depicting a radio station

    This will dispatch a Broadcast Event that you'll be able to handle, check who's it for, and act accordingly.