/proc/flick(Icon, Object)
Arguments:
Icon: An icon file, or a named icon state.
Object: The object being changed.

Temporarily replaces the /atom/var/icon, or /atom/var/icon_state, of the specified object for the duration of the animation. This only occurs on the client - the icon or icon_state variable is not actually altered.

/obj/button/Click()
    flick("pressed_animation", src)
    usr << "You pressed me!"