The main action sets are full of the most important actions that you will need when working with GameMaker: Studio, and the first set, marked "main1" in the object properties tab, deals with instances,
sprites, sounds and moving from room to room.
Create Instance
With this action you can create an instance of an object. You specify which
object to create and the position for the new instance. If you check the Relative box,
the position is relative to the position of the current instance. Creating
instances during the game is extremely useful. A space ship can create bullets;
a bomb can create an explosion, etc. In many games you will have some controller
object that from time to time creates monsters or other objects. For the newly
created instance the creation event is executed.
Create Moving
This action works the same as the action above but with two additional fields.
You can now also specify the speed and direction of the newly created instance.
Note that if you check the Relative box, only the position is relative,
not the speed and direction. For example, to make a bullet move in the direction
of the person shooting you have to use a little trick. As position use
0,0 and check Relative. As direction we need the current direction
of the instance. This can be obtained by typing in the word direction.
(This actually is a variable that always indicates the current direction
in which the instance is moving.)
Create Random
This action lets you create an instance of one out of four objects. You specify
the four objects and the position. An instance of one of these four objects
is created at the given position. If you check the Relative box,
the position is relative to the position of the current instance. If you need
a choice out of less than four objects you can use No Object for some of them.
This is for example useful to generate a random enemy at a location.
Change Instance
With this action you can change the current instance into an instance of
another object. So for example, you can change an instance of a bomb into
an explosion. All settings, such as the motion and the value of variables,
will stay the same. You can indicate whether or not to perform the destroy
event for the current object and the creation event for the new object.
Destroy Instance
With this action you destroy the current instance. The destroy event
for the instance is executed.
Destroy at Position
With this action you destroy all instances whose bounding box contains a
given position. This is useful, for example, when you use an exploding bomb.
When you check the Relative box the position is taken relative to
the position of the current instance.
Change Sprite
Use this action to change the sprite for the instance. You indicate which new sprite.
You can also indicate with subimage must be shown. Normally you would use 0 for
this (the first subimage) unless you want to see a particular subimage. Use -1 if
you do not want to change the current subimage shown. Finally
you change the speed of the animation of the subimages. If you only want to see
a particular subimage, set the speed to 0. If the speed is larger than one
subimages will be skipped. If it is smaller than 1 subimages will be shown
multiple times. Don't use a negative speed. Changing sprites is an important feature.
For example, often you want to change the sprite of a character depending on
the direction in which it walks. This can be achieved by making different sprites
for each of the (four) directions. Within the keyboard events for the arrow keys
you set the direction of motion and the sprite.
Transform Sprite
Use this action to change the size and orientation of the sprite for the instance.
Use the scale factors to make it larger or smaller. The angle gives the counter-clockwise
orientation of the sprite. For example, to make the sprite oriented in the direction of
motion use as a value direction. For example, this is useful for a car. You can also
indicate whether the sprite should be mirrored horizontally and/or flipped vertically.
colour Sprite
Normally the sprite is drawn as it is defined. Using this action you can change the
colour of the sprite. This colour is blended with the sprite, that is, it is combined
with the colours of the sprite. If you want to draw a sprite in different colours you
better define the sprite in black and white and use the blend colour to set the
actual colour. You can also indicate an alpha transparency. With a value of 1 the
sprite is opaque. With a value of 0 it is completely transparent. With a value in
between you will partially see the background shine through it. This is great for
making explosions.
Play Sound
With this action you play one of the sound resources you added to your game.
You can select the sound you want to play and choose whether it should play only once
(the default) or loop continuously. Multiple sounds can play at once.
Stop Sound
This action stops the indicated sound. If multiple instances of this sound
are playing all are stopped.
Check Sound
If the indicated sound is playing the next action is performed. Otherwise
it is skipped. You can select Not to indicate that the next action
should be performed if the indicated sound is not playing. For example,
you can check whether some background music is playing and, if not, start
some new background music.
Note that this action returns true when the sound actually plays through the speakers. After you call the
action to play a sound it does not immediately reach the speakers so the action
might still return false for a while. Similar, when the sound is stopped you still hear
it for a while (e.g. because of echo) and the action will still return true.
Previous Room
Move to the previous room, as defined by the order of the room assets in the resource tree. If you are in the first room of the game and call this function you will get an error.
Next Room
Move to the next room, as defined by the order of the room assets in the resource tree. If you are in the last room of the game and call this function you will get an error.
Restart Room
This will restart the current room.
Different Room
With this action you can go to a particular room, selecting the room to go to from the drop-down list.
Check Previous
This action tests whether the previous room exists. If so, the next action is executed.
Check Next
This action tests whether the next room exists. If so, the next action is executed.