Ogólnie ładny efekt dało by takie coś:
CREATE
GML
laserRot = 0;
laserDir = 313;
laserSpeed = 5;
STEPGML
laserRot += laserSpeed;
laserDir -= cos( degtorad( laserRot ) ) * ( 0.78 * laserSpeed );
DRAWGML
draw_sprite_ext( Laser, image_index, x, y, 1, 1, laserDir, image_blend, image_alpha );Lub zamiast draw ustawić image_angle na laserDir.
Coś bardziej sztywnego:
CREATE
GML
laserMove = 1;
laserDir = 270;
laserSpeed = 5;
STEPGML
laserDir += laserSpeed * laserMove;
if( laserDir > 360 ) {
laserMove = -1;
}
else
if( laserDir < 270 ) {
laserMove = 1;
}
I to samo z draw/image_angle.