One of the things that makes GameMaker: Studio so unique
is the ease with which simple commands and functions can be made to
manipulate your game world using actions. These actions come
in the form of action sets, with each set having a number of
icons that you can drag and drop into an object event to create
behaviours for that object (this is commonly called just "DnD", in
reference to the drag'n'drop aspect). Here are the action sets in
full:
All the actions are found in the tabbed pages at the right of the
object property form, and as you can see there are seven tabs full
of actions for you to use to help create your games. If you require
a brief reminder of what each action does while working with
GameMaker: Studio you can place the mouse over any of them
and a short descriptive text will pop up, and for a more in-depth
explanation each tab is explained elsewhere in the manual (see the
end of this section).
To put an action in an event, just drag it from the tabbed pages
to the action list in the object as shown in the image below:
From there you can then edit the details of the action, change the
order of actions within the list (by clicking and dragging), copy,
paste and even delete actions too. You can also select multiple
actions if need be and they can also be dragged or copied from one
object's action list to that of another!
Now, as you can see above, when you drop an action in the action
list, normally a window will pop-up in which you can fill in
certain parameters for the action, and you can find a description
of each of these actions and parameters in the sections of the
manual listed at the end of this page. However, almost all of them
have a two things in common which we will deal with here, the first
of them being the box at the top that says "Applies To:". This is
to tell GameMaker: Studio which instances are to be
considered as "running" this action and the default is
self, which is the instance of the object that has the
action in its action list. Most of the time, this is what you want,
but in the case of a collision event, you can also have an action
that applies to the other instance involved in the collision, and
for that you would change "Applies to:" to other (this is
only valid for the collision event). Finally you have
object which means that the action will be applied to
all instances of a particular object that are active in the
current room. In this way you could change all obj_red_balls into
obj_blue_balls, for example.
The consistent part of most actions is the check-box labeled
Relative. When you check this box you are telling
GameMaker: Studio that the values you input to the fields of
the action are to be relative to the original value rather than
being absolute. Here is an image to further explain what this
means, and as you will see, checking "relative" can have a big
influence on the result of the action!
Information on the individual actions found in each set can be found in the following sections:
When you add actions to a chosen event, these are numbered down
the left hand side of the action list. This is just like when
working with code, where each line gets its own line number, and is
designed to make debugging and finding your way around complex
constructions and action lists. You can "bookmark" a position
within the action list too so that with the press of a number key
on your keyboard you are taken directly to the action that was
previously bookmarked, as long as the object has not been closed
(closing the object properties will clear all current
bookmarks).
To bookmark an action, simply click on it once to select it with
the mouse, then press <CONTROL> + <NUMBER> to
add a bookmark at that point (The number is from 1 - 9 and is any
one of the number keys at the top of your keyboard). It should be
noted that the bookmarks are on a "per object" basis, so each
object can have ten bookmarks as long as it is open for editing.
From the moment you create a bookmark onwards, you can simply press
the number key and you will be taken to the action that the
bookmark references, and if you wish to remove a bookmark, then you
can simply press <CONTROL> + <NUMBER> again
which will clear the number specified.
This functionality can be switched off in the Scripts
Preferences, but note that doing so will also switch off line
numbering for code boxes and the script editor.
Apart from the numbers that you can use for bookmarking the
actions used, you can also add break-points to your action
list. Break-points are where you can set the game stop running
while in debug mode, and the Debug Module will show you details of
the current action being run, the variables being used and a whole
host of other details. In this way you can stop your actions from
being performed and then "step" through them to identify the exact
source of the error.
You can add a
break-point (or multiple break-points) by selecting the action from
the list and either right click and select toggle
break-point or by pressing F9 (see image above). The
action will now be marked with a red dot, which means that the
debug module will stop at that point in your game.
For further information on how to use the debug module, please see
the section on Debugging.