GameMaker Touhou Engine   Home   Downloads   Documentation


A script that fires a laser.

Returns: id of the generator that's going to create the laser. (Integer)


_BULLET_CREATE_LASER(bx, by, angle, spd, len, gir, delay_am, delay_fanim, delay_sanim, spr, obj, deff)


Name Value Significance
bx <integer> The X-coordinate to fire the laser from.
by <integer> The Y-coordinate to fire the laser from.
angle <integer(0-359)> The direction to fire the laser in.
spd <integer> The laser's movement speed.
len* <integer> The length of the laser.
gir* <integer> The girth of the laser.
delay_am <real> The delay before firing the laser (accepts negative values).
delay_fanim <sprite> The appearing animation of the delay cloud.
delay_sanim <sprite> The disappearing animation of the delay cloud.
spr <sprite> The sprite to use for the laser.
obj** <object> The bullet to fire. (Should inherit from _LASER_PARENT to avoid memory leaks)
deff <sprite> The sprite of the particle to create when the laser is destroyed.

*It is not recommended to have these deviate too much from the sprite's height and width, as that can cause severe artifacting.

**Can be set to noone in order to just create an instance of _LASER_PARENT instead.


Create an instance of _LASER_GENERATOR_PARENT at the given position, set it's animations and image speed according to the given sprites and delay_am. Tell it to create the laser with the given parameters once it's first animation ends. Create duplicated and scaled versions of spr and deff to give to the generator for use as the sprite/death effect of the actual laser being fired.