pan iczigo już ten kod napisał
GML (create)
shake=0;
GML (step)
if(shake>0) shake-=1;
// ewentualnie
shake=max(0,shake-1);
GML (draw)
draw_sprite_ext(sprite_index,-1,x-sign(shake)+sign(shake)*floor(random(3)),y-sign(shake)+sign(shake)*floor(random(3)),image_xscale,image_yscale,image_angle,image_blend,image_alpha);
nie chcesz używać draw, "bo sprite zniknie"? wklej to i zobacz, że nie.
chcesz, żeby obiekt zaczął się trząść? ustaw shake na wartość dodatnią.
mój kod uznaję za najlepszy z tu dotychczas wymienionych (również od tego pod moim postem), ponieważ można go używać przy wbudowanych wartościach (typu x, hspeed, direction itp)
edit: poprawka