Sie sind auf Seite 1von 110

Game Maker 8

Survival Guide Manual

Orginal Creator Jack Bracer


Rough Editor Arkadiusz Nowak

I hope that it would help beginners to understand the basic usage of Game Maker.
I would highly encourage anyone to edit this file to refine and or add to its wisdom.
All I ask is a simple recognition as the author of this article.

Note:

Time Line Speed Missing Splash Text Missing


Start Time Line Missing Splash Image Missing
Pause Time Line Missing Splash Webpage Missing
End Time Line Missing Splash Settings

© YoYo Games & Mark Overmars

1|Page GM8SGM Jack Bracer


INDEX
MOVE
Move
The “Move Fixed” Function Page 06-07
The “Move Free” Function Page 08
The “Move Towards” Function Page 09
The “Speed Horizontal & Speed Vertical” Function Page 10
The “Set Gravity” Function Page 11
The “Reverse Horizontal/Vertical” Function Page 12
The “Set Friction” Function Page 13
Jump
The “Jump to Position” Function Page 14
The “Jump to Start” Function Page 15
The “Jump to Random” Function Page 16
The “Align to Grid” Function Page 17
The “Wrap Screen” Function Page 18
The “Move to Contact” Function Page 19
The “Bounce” Function Page 20
Paths
The “Set Path” Function Page 21
The “End Path” Function Page 22
The “Path Position” Function Page 23
The “Path Speed” Function Page 24
Steps
The “Step Towards” Function Page 25
The “Step Avoiding” Function Page 26

MAIN1
Objects
The “Create Instance” Function Page 27
The “Create Moving” Function Page 28
The “Create Random” Function Page 29
The “Change Instance” Function Page 30
The “Destroy Instance” Function Page 31
The “Destroy at Position” Function Page 32
Sprite
The “Change Sprite” Function Page 33
The “Transform Sprite” Function Page 34
The “Color Sprite” Function Page 35
Sounds
The “Play Sound” Function Page 36
The “Stop Sound” Function Page 37
The “Check Sound” Function Page 38
Rooms
The “Room” Functions Page 39

2|Page GM8SGM Jack Bracer


MAIN2
Timing
The “Set Alarm” Function Page 40
The “Sleep” Function Page 41
The “Set Time Line” Function Page 42
The “Time Line Position” Function Page 43
Info
The “Display Message” Function Page 44
The “Show Game Info” Function Page 44
The “Show Video” Function Page 45
Game
The “Restart Game” Function Page 45
The “End Game” Function Page 45
The “Save” & “Load” Game Functions Page 46
Resources
The “Replace Sprite” Function Page 47
The “Replace Sound” Function Page 48
The “Replace Background” Function Page 49

Control
Questions
The “Check Empty” Function Page 50
The “Check Collision” Function Page 51
The “Check Object” Function Page 52
The “Test Instance Count” Function Page 53
The “Test Chance” Function Page 54
The “Check Question” Function Page 55
The “Test Expression” Function Page 56
The “Check Mouse” Function Page 57
The “Check Grid” Function Page 58
Other
Code Scope Classifiers Page 59
The “Repeat” Function Page 59
The “Exit Event” Function Page 59
The “Call Parent Event” Function Page 60
Code
The “Execute Code” Function Page 60
The “Execute Script” Function Page 61
The “Comment” Function Page 62
Variables
The “Set Variable” Function Page 63
The “Test Variable” Function Page 64
The “Draw Variable” Function Page 65

3|Page GM8SGM Jack Bracer


Score
Score
The “Set Score” Function Page 66
The “Test Score” Function Page 67
The “Draw Score” Function Page 68
The “Show High Score Table” Function Page 69
The “Clear High Score” Function Page 70
Lives
The “Set Lives” Function Page 70
The “Test Lives” Function Page 71
The “Draw Lives” Function Page 72
The “Draw Life Images” Function Page 73
Health
The “Set Health” Function Page 74
The “Test Health” Function Page 75
The “Draw Health” Function Page 76
The “Score Caption” Function Page 77

Extra
Particles
The “Create Particle System” Function Page 78
The “Destroy Particles System” Function Page 79
The “Clear All Particles” Function Page 80
The “Create Particle” Function Page 81
The “Particle Color” Function Page 82
The “Particle Life” Function Page 83
The “Particle Speed” Function Page 84
The “Particle Gravity” Function Page 85
The “Particle Secondary” Function Page 86
The “Create Emitter” Function Page 87
The “Destroy Emitter” Function Page 88
The “Burst of Emitter” Function Page 89
The “Stream from Emitter” Function Page 90
CD
The “Play CD” Function Page 91
The “Stop CD” Function Page 91
The “Pause CD” Function Page 91
The “Resume CD” Function Page 91
The “If CD Exist” Function Page 92
The “If the CD is Playing” Function Page 92
Other
The “Set Cursor” Function Page 92
The “Open Webpage” Function Page 93

4|Page GM8SGM Jack Bracer


Draw
Drawing
The “Draw Sprite” Function Page 94
The “Draw Background” Function Page 95
The “Draw Text” Function Page 96
The “Draw Scaled Text” Function Page 97
The “Draw Rectangle” Function Page 98
The “Horizontal Gradient” Function Page 99
The “Vertical Gradient” Function Page 100
The “Draw Ellipse” Function Page 101
The “Gradient Ellipse” Function Page 102
The “Draw Line” Function Page 103
The “Draw Arrow” Function Page 104
Settings
The “Set Color” Function Page 105
The “Set Font” Function Page 106
The “Set Full Screen” Function Page 107
Other
The “Take Snapshot” Function Page 108
The “Create Effect” Function Page 109-110

5|Page GM8SGM Jack Bracer


MOVE
The “Move Fixed” Function

To put it bluntly:
This function makes your object moves.
A simplified version of the “Move Free” function that allows you to assign both speed
& direction to your object.

Elaboration:
When you drag and drop this icon into the “Actions” space, this dialog will appear.

In this particular dialog, the bottom left button is selected, meaning your specified
object will move along that very direction and the speed is how many pixels it is
going to move in that direction per frame.

6|Page GM8SGM Jack Bracer


The overall speed effect will also depend on the Frame Rate of the room which this
function operates in, meaning in a room that is 30 frames per second, the object will
move 300 pixels in 2 seconds while in a room that is 60 frames per seconds, the same
object would have moved 600 pixels.

If you want the object to choose a random direction, select all the direction buttons
like so:

This will make Game Maker decide randomly which side to move.
If you also select the center “stop” button, do not be surprise if your object doesn’t
move if it happens to choose that.

If the “Relative” checkbox was ticked, Game Maker will simply “increment” the
speed, please note, only the speed is incremented. If you want the direction to
influence the already establish direction of your object, you should be using the
“Move Free” function.

The “Applies to” section:


If you choose “Self” which is the default, the function will act upon the current object.

If you choose “Other”, this will affect the movement of the object it collides with.
The only place something like this will be of use is in the collision event.

Choosing “Object”, specifying which object, and placing it in the collision event will
produce some very cool effects like explosions, disintegration or even a simple
snooker ball game effect where a target hits a group of object and they starts moving
randomly in chaos, that is, if you specify the movement to be random by choosing
multiple directions.

7|Page GM8SGM Jack Bracer


The “Move Free” Function

To put it bluntly:
This is what you would normally use to specify or add to the already established
direction of your object.

Elaboration:

The direction is specified in degrees, the orientation of the angle is illustrated in this
diagram.

To assign a random angle you can type in “random(360)”.

This single function is capable of behaving like the “Move Fixed”, “Speed
Horizontal” & “Speed Vertical” functions.

Executing the “Move Fixed” function with a moving object will cancel out its
direction.
You can do the same thing using the “Move Free” function by leaving the “Relative”
checkbox unchecked.

However ticking “Relative” in the “Move Fixed” function will ONLY increment the
already establish speed while doing the same thing in the “Move Free” function will
increment both the direction [instead of canceling it out] and the speed as well, this is
what you will usually wants, incidentally, this is also how the “Speed Horizontal” &
“Speed Vertical” will behave when their “Relative” checkbox is ticked.

The ONLY differences between the “Move Free” & the “Speed Horizontal”/“Speed
Vertical” functions is that the “Speed Horizontal” & “Speed Vertical” functions allow
you to add to the existing orientation of your object without incrementing the speed
by not ticking their “Relative” checkbox.

8|Page GM8SGM Jack Bracer


The “Move Towards” Function

To put it bluntly:
Specify a point for your object to start moving towards but it WON’T stop there !

Elaboration:

The x and y textbox is where you specify a single point for your object to move
forward to.

The object will not stop when it reaches its destination, the function merely allows
you to set the “direction” of your object by referencing a point to move forward to.

9|Page GM8SGM Jack Bracer


The “Speed Horizontal & Speed Vertical” Function

To put it bluntly:
Add a “Horizontal” or “Vertical” tendency to the already established orientation.

Elaboration:
The “Speed Horizontal” and “Speed Vertical” dialog.

The only time you will use this function instead of the “Move Free” function is when
you want to add to the direction of your object without increasing the speed by not
ticking the “Relative”checkbox.

If you tick the “Relative” check box, you might as well use the “Move Free” function
with its corresponding “Relative” checkbox ticked as well. They will behave the same
way influencing both the already establish direction & speed of your object.

10 | P a g e GM8SGM Jack Bracer


The “Set Gravity” Function

To put it bluntly:
Gravity

Elaboration:

This function allows you to declare to Game Maker a constant force in whatever
direction you’ve chosen to specify in the direction textbox.

The MAIN different between this function and all the other “Move” and “Speed”
functions is that the specified speed [in this case, renamed as gravity] is always auto
incrementing, giving the impression that the longer something falls, the faster it falls,
aka Gravity.

The most common thing beginner do, is place a ball with gravity effect on and let it
bounce [we’ll discuss this function later] thinking that it would behave like the real
world, that the ball would eventually stop.
Well, it doesn’t.

This is due to the simplified algorithm handling the bounce effect, the algorithm
simulates a perfect world where all the energy is completely transferred back to the
ball after it hits an object.

If you are aiming for physical realism, you might eventually want to incorporate more
accurate simulations via script involving material bounciness, force
absorbance/transference etc.

Note: Setting speed to zero in the “move free” function would NOT turn off gravity,
you have to implicitly declare gravity speed to be zero to stop it.

11 | P a g e GM8SGM Jack Bracer


The “Reverse Horizontal/Vertical” Function

To put it bluntly:
Reverse the current Horizontal/Vertical direction of your object’s trajectory.

Elaboration:

This function flips the already established Horizontal/Vertical trajectory of your object.

12 | P a g e GM8SGM Jack Bracer


The “Set Friction” Function

To put it bluntly:
This function decreases your object’s speed over the course of time.

Elaboration:
Think of it as the direct opposite of the “gravity” function.

The “gravity” function increments the speed in a given direction over time while the “friction”
function decrease the speed over time [frames to be exact].

13 | P a g e GM8SGM Jack Bracer


The “Jump to Position” Function

To put it bluntly:
Re-Specify your objects location.

Elaboration:

Relocate your object to a new screen coordinate.


If you tick the “Relative” checkbox, your new location will be relative to your current location.

Remember, if your object already has a speed assign to it, it will continue to move after its
reallocation.

If you specify a location that will trigger a collision event, this function will simply not carry out
unless of course, you did not specify a collision handling event in which case Game Maker will know
it’s ok that two object occupies the same space.

14 | P a g e GM8SGM Jack Bracer


The “Jump to Start” Function

To put it bluntly:
Move your object back to its original position specified during the room creation
stage.

Elaboration:

As does the “Jump to Position” function, if the object’s speed property is not zero, it will continue to
move even after this function is called.

15 | P a g e GM8SGM Jack Bracer


The “Jump to Random” Function

To put it bluntly:
Relocate your object randomly.

Elaboration:

The “snap horizontal” and “snap” vertical textbox allows you to specify an overall “grid” for your
object to randomly reside in.

Remember, as does the “Jump to Position” function, if the random function randomized a location that
will cause a collision with another object, this function will simply not carry out unless of course, you
did not specify a collision event to begin with, then its ok.

16 | P a g e GM8SGM Jack Bracer


The “Align to Grid” Function

To put it bluntly:
Snap your object to the nearest grid intersection.

Elaboration:

This function snaps your object’s registration point [origin] to the intersection point of the closest grid.

If you want your object to be inside a grid when this function is called, make sure your do not center
your object’s origin.

17 | P a g e GM8SGM Jack Bracer


The “Wrap Screen” Function

To put it bluntly:
Wrap your object around if it leaves the screen.

Elaboration:

This function wraps your object’s motion around the screen if it leaves the screen.

You can determine whether this function will take into consideration the Horizontal or Vertical motion
of your object or both.

You would most likely only place this function in the “Outside Room” event.

18 | P a g e GM8SGM Jack Bracer


The “Move to Contact” Function

To put it bluntly:
Make sure after collision, your object sits right on your platform instead of floating
above or passing through it.

Elaboration:

You would normally place this function in the “Collision” event and right before this function would
normally be the “Move Free” function where you set the current speed of your object to zero, in some
cases you might also have to set gravity to zero too.

19 | P a g e GM8SGM Jack Bracer


The “Bounce” Function

To put it bluntly:
This function makes your object bounces off collided objects.

Elaboration:

This function would be placed in the “Collision” event of your object.

Under the “precise” textbox, you get to choose whether you want the collision calculation to be more
accurate instead of simple “Bounding Box” collisions, setting it to “precisely” enable relatively
accurate bounce effect resulting from curve surface collision.

Please note that this is a simplified “bounce” function, in the real world, energy would be released as
sound and heat and the resulting object would lost kinetic energy, you would normally not have to
worry about this but please take note of this when you are using this function with the “gravity”
function as it would not behave like reality.

20 | P a g e GM8SGM Jack Bracer


The “Set Path” Function

To put it bluntly:
Set the path/guide where you want your object to follow.

Elaboration:

These are the options available for the “at end” textbox:

Stop:
Stop at the end of the path.
Please note that even if your object initially has a speed before you set a “path” for it, it will still stop if
you choose this option.

Continue from start:


Your object will jump right back to the starting point at the end point of the path.

Continue from here: It will continue to travel along the same line pattern outlined by the path relative
to its end point. In the case of a circle or any close loop, setting this option will have the same effect as
the “continue from start” option.

If you were to pick “relative”, your object will start following the path pattern from where it’s at.
If you picked “absolute”, your object will “jump” to the path’s starting point & follow the path straight
on.

21 | P a g e GM8SGM Jack Bracer


The “End Path” Function

To put it bluntly:
Detach your object from the path.

Elaboration:

Please note that the speed your object possesses before it was set to follow the path is not reinitialized.

This is an extremely brutal way to stop your object from following a path, the more friendlier approach
is to use the “Path Speed” function for you can continue following the path again later on if you choose
to, but with the ”End Path” function, all is gone, you have to “Set” the path again.

22 | P a g e GM8SGM Jack Bracer


The “Path Position” Function

To put it bluntly:
Reset the position of your object to the beginning or the end of the path.

Elaboration:

Entering “0” will place your object at the beginning of the path, “1” will put it at the end, you are free
to enter any digits in-between.

Please note that if the speed of your object is not zero, it will continue to move the minute it is
repositioned along the path.

23 | P a g e GM8SGM Jack Bracer


The “Path Speed” Function

To put it bluntly:
Speed up, slow down or stop your object along the path.

Elaboration:

This function allows you to modify the speed of your object along the path, zero to stop it.

24 | P a g e GM8SGM Jack Bracer


The “Step Towards” Function

To put it bluntly:
Similar to the “Move Towards” function, except that it does stop when it reaches its
destination.

Elaboration:

This function is to be place in the “step” event of your object.

This function will move your object a certain amount of pixels specified by the “speed” towards the
destination coordinate.

If your object hits a solid object [or any instance if you select that] before it reaches its destination, it
will just stop there.

Remember to remove any speed if your object has any before engaging this command or else the two
separate properties would fight each other, example your object have reached its destination and has
stopped but the previously established speed would pull the object away from its destination, this
function would then again try to pull the object back to the destination creating an unsettling
movement.

25 | P a g e GM8SGM Jack Bracer


The “Step Avoiding” Function

To put it bluntly:
Move toward destination but avoiding obstacles.

Elaboration:

This is a SUPER AWESOME function that is sort of AI like in that it will move your object toward the
destination but make it smart enough to avoid obstacles.

It doesn’t always works, sometimes it would just go round & round without getting out of the “trap”,
but if you leave plenty of room for it to bump around, this function will eventually find its way.
Cool function. Think PACMAN Enemies.

Like the “Step Towards” function, make sure your object have zero speed before engaging this
command.

26 | P a g e GM8SGM Jack Bracer


Main1
The “Create Instance” Function

To put it bluntly:
Create instances of any object.

Elaboration:

The object textbox is where you choose what object this function will replicate.

When you turn on “Relative”, you will create the instance relative to your object’s current location.

27 | P a g e GM8SGM Jack Bracer


The “Create Moving” Function

To put it bluntly:
Create a moving instance.

Elaboration:

This function presents an alternative approach to initial movement establishment.

Now you can choose either to establish the motion of your object after creation by using this function
or to have the movement of the object established in its creation event.

28 | P a g e GM8SGM Jack Bracer


The “Create Random” Function

To put it bluntly:
Create random objects

Elaboration:

This function allows you to specify four objects that you would like the random engine to pick one
from and create an instance of it.

If you only want the random engine to choose from two objects to make an instance out of, just leave
the other two textbox as “No object”.

29 | P a g e GM8SGM Jack Bracer


The “Change Instance” Function

To put it bluntly:
Change your current object to another.

Elaboration:

The only thing you will probably have some questions about is what is the “perform events” textbox
all about.

On every object, there is a “Create” and “Destroy” event which you might have designated some
actions in those events.
If you want your current object and the next object it’s changing into to carry out those actions, select
“yes” for the “perform events” textbox.

The most common use for this function is when your object encounters a missile, it changes into an
explosion and destroys itself.

30 | P a g e GM8SGM Jack Bracer


The “Destroy Instance” Function

To put it bluntly:
DESTROY your object.

Elaboration:

Use this function to destroy an instance, whether it’s the object that’s calling this function [Self], the
object that’s colliding with it [Other] or any object you specified [Object].

31 | P a g e GM8SGM Jack Bracer


The “Destroy at Position” Function

To put it bluntly:
Set a deadly coordinate where any object that is over it will perish.

Elaboration:

Setting the coordinates doesn’t staple that location as the location of death once and for all
That’s why you might want to place the action in the step event to make it permanent if that’s what
you’re after.

32 | P a g e GM8SGM Jack Bracer


The “Change Sprite” Function

To put it bluntly:
Change the sprite of your current object.

Elaboration:

When you change the sprite, you are only changing the “look” of your object, not the nature of it, so
for example, your original object has a collision detection function, after changing the sprite, your
“new” sprite will also have collision detection based on the shape of the “new” sprite.

You would normally leave the subimage as 0.


However, in the event that you assign an animated sprite in the “keyboard” event where the call will
continuously execute until you stop pressing on the key, your “animated” sprite would be constantly
stuck in the same starting frame of the animation, to prevent this, type in “-1” for the subimage,
otherwise, think of the “subimage” as a place where you can specify what frame of the animation the
animated sprite should start on.

The speed we are talking about here is the speed of the sprite animation.
Zero means no animation, 1 is normal, more than 1 to speed up the sprite animation.

33 | P a g e GM8SGM Jack Bracer


The “Transform Sprite” Function

To put it bluntly:
Scale, rotate and/or flip your sprites with this function.

Elaboration:

It’s perhaps intriguing to note that “mirror and flip” behaves like a 180° rotation.

As there is no “Relative” checkbox here, don’t expect your object to rotate 90° again and again
everytime this function is called [that is…if you set it to rotate 90°], you’ll have to declare a variable
and increment that to rotate incrementally.

34 | P a g e GM8SGM Jack Bracer


The “Color Sprite” Function

To put it bluntly:
Add a layer of color hue above your object.

Elaboration:

The “color” option allows you to choose a color to overlay on top of your sprite.

The “alpha” option allows you to set the transparency of your sprite, 1 is normal, 0 is totally
transparent.

35 | P a g e GM8SGM Jack Bracer


The “Play Sound” Function

To put it bluntly:
Play Sound…

Elaboration:

It’s that simple.

36 | P a g e GM8SGM Jack Bracer


The “Stop Sound” Function

To put it bluntly:
Stop Sound

Elaboration:

You simply choose which sound to stop in the “sound” option.

37 | P a g e GM8SGM Jack Bracer


The “Check Sound” Function

To put it bluntly:
Check whether a certain sound is currently playing.

Elaboration:

Returns “true” if the selected sound is currently playing.


If you check the “NOT” checkbox, it will return true when the sound you’ve selected is NOT playing.

38 | P a g e GM8SGM Jack Bracer


The “Previous Room” Function
The “Next Room” Function
The “Restart Room” Function
The “Different Room” Function
The “Check if Previous Room Exists” Function
The “Check if Next Room Exists” Function

To put it bluntly:
Room Navigation functions.

Elaboration:
The “Different Room” function allows you to choose a specific room.

For both the “Previous Room” and “Next Room” function, if there are no other rooms to move to, you
will receive an error, that’s why you should always use the two “Check if Room Exists” functions
when appropriate.

All of these functions [except the “check” functions] allow you to choose a transition to the designated
room of choice.

The following transitions are explained:


<No effect> - Directly brings you to the next room.
<Create from left> - Wipe from left to right.
<Create from right> - Wipe from right to left.
<Create from top> - Wipe from top to bottom.
<Create from bottom> - Wip from bottom to top
<Create from center> - Center out
<Shift from left> - The new room will move from left to right covering up the old room.
<Shift from right> - The new room will move from right to left covering up the old room.
<Shift from top> - The new room will come down from top to bottom covering up the old room.
<Shift from bottom> - The new room will go up covering the old room.
<Interlaced from left> - The old screen will be cover-up from the left to right in an interlacing manner.
<Interlaced from right> - The old screen will be cover-up from the right to left in an interlacing manner.
<Interlaced from top> - The old screen will be cover-up from top to bottom in an interlacing manner.
<Interlaced from bottom> - The old screen will be cover-up from bottom to top in an interlacing manner.
<Push from left> - The old screen will move right and pull the new screen along.
<Push from right> - The old screen will move left and pull the new screen along.
<Push from top> - The old screen will move down and dragging the new screen down.
<Push from bottom> - The old screen will move up pulling along with it the new screen up.
<Rotate left> - A smaller version of the new screen will appear from the center rotating counter-clockwise,
getting bigger and bigger until it fills up the screen.
<Rotate right> - A smaller version of the new screen will appear from the center rotating clockwise, getting
bigger and bigger until it fills up the screen.
<Blend> - The alpha of the first room will begin to fade while the opposite is happening to the new room until
the old room is completely gone and replaced by the new room.
<Fade out and in> - The old room will fade to black and from the darkness, the new room will fade in.

39 | P a g e GM8SGM Jack Bracer


Main2
The “Set Alarm” Function

To put it bluntly:
Use this when you want something to happen after a certain time [step].

Elaboration:

This function works in conjunction with the “Alarm” event.

The “number of steps” is based on frames per sec, for example if your room refresh rate is 30 frames
per sec, by typing “150”, you are asking Game Maker to set off event “Alarm 0” after 5 seconds, that
is, if you choose “Alarm 0” in the “alarm no” textbox, you can choose “Alarm 0” to “Alarm 11”.

Please note that setting this event once and for all doesn’t mean the event will intervally execute after
every whatever frames you have designated, you’ll have to reset the alarm continuously for that to
happen.

40 | P a g e GM8SGM Jack Bracer


The “Sleep” Function

To put it bluntly:
HANGS your program for a designated amount of time.

Elaboration:

A millisecond is one thousandth of a second, there.

The redraw in this case allows you to decide whether you want the screen to update
and show you the event that caused the “sleep” event by setting redraw to true, or
straight away execute this event first.

Another way to visualize the “redraw” option is this:


Two objects are colliding, and this event will cause this “sleep” function to execute.
With redraw set to “True” you will see the actual collision before “sleep” occurs.
With redraw set to “False”, “sleep” will execute first.

It is strange as to why the “Time” tracking system in this function is in milliseconds


while various others are calculated in “Step”, it isn’t consistent.

41 | P a g e GM8SGM Jack Bracer


The “Set Time Line” Function

To put it bluntly:
Appoint a timeline that you have created to your object.

Elaboration:

The “Position” option is explained in the “Time Line Position” function.

42 | P a g e GM8SGM Jack Bracer


The “Time Line Position” Function

To put it bluntly:
Set how many frames into the timeline the code should start from.

Elaboration:

Contrary to popular belief, the “Position” doesn’t mean “moment” though it would
have made more sense.

No, the “Position” in this case means “frames”, for example during the timeline
creation stage, you set about the playing of a certain sound at 150 worth of frame
passing time[5 seconds in a 30f/s frame rate setting], by using this function to set the
timeline back to its 150’s state, it will replay that sound again.

43 | P a g e GM8SGM Jack Bracer


The “Display Message” Function

To put it bluntly:
Display a message box.

Elaboration:

Use the “#” character to symbolize new line.

This is how the message box looks like for this text.

The “Show Game Info” Function

To put it bluntly:
This function will show the Game Info in another window.

44 | P a g e GM8SGM Jack Bracer


The “Show Video” Function

To put it bluntly:
Supposably display a video.

Elaboration:

This dialog is pretty straight forward.

The “Restart Game” Function


The “End Game” Function

To put it bluntly:
These two functions perform exactly as they are named, there are no dialogs for them.

45 | P a g e GM8SGM Jack Bracer


The “Save” & “Load” Game Functions

To put it bluntly:
A simple mechanism for you to save your game’s current status.

Elaboration:

Please experiment with this function to test whether the things you hope this function
would save are saved, if not, you might have to create your own saving mechanism.

46 | P a g e GM8SGM Jack Bracer


The “Replace Sprite” Function

To put it bluntly:
Replace selected sprite with another sprite loaded from file.

Elaboration:

Please note that the new change in sprite shape will be taken into consideration during
collision.

The “images” textbox is really neat, by providing an image strip other than gif that
contains multiple sprite images and specifying how many images are there, this
function will “separate” them and turn them into animated sprites like animated gif !
It’s a bit like the background “use as tile set” where a single image can be split.

47 | P a g e GM8SGM Jack Bracer


The “Replace Sound” Function

To put it bluntly:
Replace your existing sound with an external one.

Elaboration:

This function is pretty straight forward.

48 | P a g e GM8SGM Jack Bracer


The “Replace Background” Function

To put it bluntly:
Replace your existing background with an external one.

Elaboration:

If you are replacing a background that was used for tiling, make sure the replacement
contains the same tile division and pixel size.

49 | P a g e GM8SGM Jack Bracer


Control
The “Check Empty” Function

To put it bluntly:
Returns “True” if the coordinate you specify is free from objects.

Elaboration:
You can specify whether to detect “all objects” or “only solid objects”.

By checking the “NOT” checkbox, you are telling Game Maker to return “True”
when there IS something on the specified coordinate.

50 | P a g e GM8SGM Jack Bracer


The “Check Collision” Function

To put it bluntly:
Returns “True” if the coordinate you specify will give raise to a “Collision” event if
your object were to be there.

Elaboration:

If you tick the “NOT” checkbox, the opposite will return “True”.

51 | P a g e GM8SGM Jack Bracer


The “Check Object” Function

To put it bluntly:
Returns “True” if the object you specify is in that coordinate.

Elaboration:

If you tick the “NOT” checkbox, this function will return “TRUE” if the object you
specify is NOT in that coordinate.

52 | P a g e GM8SGM Jack Bracer


The “Test Instance Count” Function

To put it bluntly:
Test the number of instances of your specified object in the room.

Elaboration:

Pretty straight forward function.

53 | P a g e GM8SGM Jack Bracer


The “Test Chance” Function

To put it bluntly:
Designate a one out of whatever chance of an action being carried out that is assigned
to it.

Elaboration:

By typing 6, I’m calling this function to return “True” under the chance of 1 out of 6
times it’s being called, more “sides” decreases the probability, the opposite would
increase it.

54 | P a g e GM8SGM Jack Bracer


The “Check Question” Function

To put it bluntly:
Display a dialog with a “Yes/No” button.

Elaboration:

The function will return “True” if the user click “Yes”.

If you want this function to return “True” if the user click “No”, tick the “NOT”
checkbox.

55 | P a g e GM8SGM Jack Bracer


The “Test Expression” Function

To put it bluntly:
A very generic expression test function.

Elaboration:

This function can be use to test any forms of expression.

This example is testing if the value of “score” = 1.

56 | P a g e GM8SGM Jack Bracer


The “Check Mouse” Function

To put it bluntly:
Detect which mouse button is down.

Elaboration:

Returns “True” if the current mouse button pressed matched the option that was
chosen.

57 | P a g e GM8SGM Jack Bracer


The “Check Grid” Function

To put it bluntly:
Detects whether your object is aligned with a certain grid.

Elaboration:

This function detects whether your object’s position aligns with the grid’s spacing.

58 | P a g e GM8SGM Jack Bracer


Code Scope Classifiers

To put it bluntly:
The complete “if then else” program control package.

Elaboration:
Every programming language has them in one form or another.
Think of the “Triangles” as brackets.

The “Repeat” Function

To put it bluntly:
Allows you to repeat a section of code a specified number of times.

Elaboration:

Just make sure that if you have more than one action for this function to carry out, put
them within the code scope triangles .

The “Exit Event” Function

To put it bluntly:
This function will stop executing any codes if there are any left in the “Event” that
triggers it.
It doesn’t matter whether it is inside a triangle code scope or not, any actions
outside that scope will also not execute.

59 | P a g e GM8SGM Jack Bracer


The “Call Parent Event” Function

To put it bluntly:
Call the parent’s actions associate with the same event.
This is only applicable if your object has a parent associated with it in the first place.

The “Execute Code” Function

To put it bluntly:
Dragging this icon into the “actions” section will bring out this dialog

Where you can type in functions using the Game Maker Language.

60 | P a g e GM8SGM Jack Bracer


The “Execute Script” Function

To put it bluntly:
Let you select the script to execute.

Elaboration:

You can also choose to pass arguments to the script if you need any, up to five of
them.

61 | P a g e GM8SGM Jack Bracer


The “Comment” Function

To put it bluntly:
Allows you to place comments in your action.

This is how it looks:

62 | P a g e GM8SGM Jack Bracer


The “Set Variable” Function

To put it bluntly:
Set the value of a variable or create one.

In this case, I’m setting the value of the build-in “score” variable.

63 | P a g e GM8SGM Jack Bracer


The “Test Variable” Function

To put it bluntly:
Test the value of a variable.

Elaboration:

In this example, I’m testing whether the variable “score” equals to 0, this function will
return “True” if it is.
You can also test whether it’s “smaller than” or “larger than” your indicated value.

64 | P a g e GM8SGM Jack Bracer


The “Draw Variable” Function

To put it bluntly:
Print out the value of a variable on screen.

Elaboration:

This function will ONLY WORK in the “Draw” event.

65 | P a g e GM8SGM Jack Bracer


Score
The “Set Score” Function

To put it bluntly:
Change the value of the score.

Elaboration:

Check the “Relative” checkbox if you wish this function to increment the existing
score value.

66 | P a g e GM8SGM Jack Bracer


The “Test Score” Function

To put it bluntly:
Test the value of the build-in score variable.

Elaboration:

Pretty straight forward function, returns “True” if the answer is positive.


Tick the “NOT” checkbox if you want this function to return “True” when the result
is negative.

67 | P a g e GM8SGM Jack Bracer


The “Draw Score” Function

To put it bluntly:
Print out the value of score on the screen.

Elaboration:

This function will print out the value of the score variable on screen when place under
the “Draw” event.

68 | P a g e GM8SGM Jack Bracer


The “Show High Score Table” Function

To put it bluntly:
Show the high score table.

Elaboration:

A 366 by 432 pixels “score board” will appear upon the calling of this function.

If the background you’ve selected did not match the 61:72 ratio of the high score
board, it will be “scaled to fit”, resulting in visual distortions.

The “new color” is the color of the text when you are typing in your new score, that
is…if you made it to the top ten scores.

The “other color” is the color of the past scores and the names that belongs to them.

69 | P a g e GM8SGM Jack Bracer


The “Clear High Score” Function

To put it bluntly:
This function kills the old score board.

The “Set Lives” Function

To put it bluntly:
Set the lives of your object.

Elaboration:

Check the “Relative” Checkbox to increment the value instead of dead-on setting it.

70 | P a g e GM8SGM Jack Bracer


The “Test Lives” Function

To put it bluntly:
Test the value of the “lives” variable.

Elaboration:

Check the “NOT” check box if you want this function to return “True” upon a
negative result.

71 | P a g e GM8SGM Jack Bracer


The “Draw Lives” Function

To put it bluntly:
Print out the number of lives on screen.

Elaboration:

Pretty straight forward function.

72 | P a g e GM8SGM Jack Bracer


The “Draw Life Images” Function

To put it bluntly:
A beautiful function that draws out the number of life you have as images.

Elaboration:

With this function, you can choose a sprite that will be used as the symbol for “Life”
and it will be printed on screen in a horizontal manner incrementally depending on
how much life you’ve got.

This is a wonderful function, but do note that as with all “drawing” functions, this is
to be placed in the “Draw” event.

73 | P a g e GM8SGM Jack Bracer


The “Set Health” Function

To put it bluntly:
Set the value of Health.

Elaboration:

As does all “set value” functions, if you check the “Relative” checkbox, you will
increment the existing value.

If the value of health is zero the “No More Health” event would execute.

74 | P a g e GM8SGM Jack Bracer


The “Test Health” Function

To put it bluntly:
Test the value of “Health”.

Elaboration:

As does all “Test” functions, checking the “NOT” checkbox will inform the function
to return “True” upon a negative result.

75 | P a g e GM8SGM Jack Bracer


The “Draw Health” Function

To put it bluntly:
Draw a “Heath” Progress Bar.

Elaboration:

This function allows you to indicate the size of the progress bar and the look of it.

76 | P a g e GM8SGM Jack Bracer


The “Score Caption” Function

To put it bluntly:
Allows you to decide what you want to show on the program’s title bar.

Elaboration:

Pretty straight forward function.

77 | P a g e GM8SGM Jack Bracer


Extra
The “Create Particle System” Function

To put it bluntly:
Get Game Maker ready to do the whole particle thing.

Elaboration:
For some very un-intuitive reasons, you have to TELL Game Maker to “get ready” to
display particles before you execute any particle generation.

One would expect Game Maker to “get ready” the minute we call the emitter to start
emitting particles but nooooo.

78 | P a g e GM8SGM Jack Bracer


The “Destroy Particles System” Function

To put it bluntly:
Destroy the particle system overhead.

Elaboration:
Use this to free all memory that had been allocated for the whole particle system
generation procedures.

79 | P a g e GM8SGM Jack Bracer


The “Clear All Particles” Function

To put it bluntly:
Remove all traces of particle that are currently on screen.

Elaboration:
Please note that new particles will still be generated, hence appear on screen, if the
emitter is not destroyed.

80 | P a g e GM8SGM Jack Bracer


The “Create Particle” Function

To put it bluntly:
Set the type of particle you want to create in this function.

Elaboration:

The following are the shapes/looks of the particle types:

Pixel: Disk: Square: Line: Star:

Circle: Ring: Sphere:

Flare: Spark Explosion: Cloud: Smoke:

Snow:

You can also use a sprite in place of the build-in particles.


Your particle size will be between the range of the “min size” and “max size”.
The “size increment” option allows you to specify how much it “grows” in each step,
use negative number to make it shrink.

81 | P a g e GM8SGM Jack Bracer


The “Particle Color” Function

To put it bluntly:
Set the color of the generated particles.

Elaboration:

The “Shape” contains two options, mixed and changing.

Choose “Mixed” to have your emitted particles randomly inherent to one of the two
colors you specify.

Choose “Changing” to tell you particles to gradually change from color1 to color2
during birth to death.

The “Alpha” setting allows you to specify the transparency of your object from birth
to death. The dialog presented shows a typical alpha setting of opaque to transparent
during birth to death of your particle.

82 | P a g e GM8SGM Jack Bracer


The “Particle Life” Function

To put it bluntly:
Allows you to set the lifespan of the particles.

Elaboration:

The lifespan of the particles will be between the numbers you specified in the “min
life” and “max life” textboxs.

83 | P a g e GM8SGM Jack Bracer


The “Particle Speed” Function

To put it bluntly:
Set a speed and direction for your particles.

Elaboration:

Your particle speed will be a random pick between the two values you put in “min
speed” & “max speed”.

Same goes for the speed orientation for the two textboxes “min dir” and “max dir”.

The friction is the amount of speed deduction per step for your particle.

84 | P a g e GM8SGM Jack Bracer


The “Particle Gravity” Function

To put it bluntly:
Associate gravity with a given particle id.

Elaboration:

Use this function to set or change the gravity/wind force that is acting on your
particles.

85 | P a g e GM8SGM Jack Bracer


The “Particle Secondary” Function

To put it bluntly:
Create secondary particles from your initial particles.

Elaboration:

You specify which particle id you wish to “secondary generate” from in the type id.

You specify the type of secondary particles you want to generate per step of the initial
particles under “step type”.

You specify the number of secondary particle generated per step of the initial particle
in the “step count”, by specify a negative in front, you are specifying the particle to
generate every x step you indicate after the negative sign.

The “death type” indicates the type of secondary particle you want to generate upon
the death of the initial particle.

The “death count” specifies the number of secondary particles you want to generate
upon the death of the initial particle.

86 | P a g e GM8SGM Jack Bracer


The “Create Emitter” Function

To put it bluntly:
Create the particle emitter.

Elaboration:

This function allows you to set the size of the particle emitter.

87 | P a g e GM8SGM Jack Bracer


The “Destroy Emitter” Function

To put it bluntly:
Destroy the particle emitter.

Elaboration:

Simply pick the emitter that you want to destroy.

88 | P a g e GM8SGM Jack Bracer


The “Burst of Emitter” Function

To put it bluntly:
Create a one-time generation of particles.

Elaboration:

Trigger the Emitter to create a specified number of particles at once.


Useful for damage sparks.

89 | P a g e GM8SGM Jack Bracer


The “Stream from Emitter” Function

To put it bluntly:
Keeps on generating a specified number of particles per step.

Elaboration:

This function will keep on generating the specified number of particles per step from
the specified emitter.

90 | P a g e GM8SGM Jack Bracer


The “Play CD” Function

To put it bluntly:
A very simple function to start your audio CD playing.

Elaboration:

Just make sure you have a CD in it in the first place.

The “Stop CD” Function

To put it bluntly:
Stop the Audio CD if it’s playing.

The “Pause CD” Function

To put it bluntly:
Pause the CD.

The “Resume CD” Function

To put it bluntly:
Resume Playing the CD.

91 | P a g e GM8SGM Jack Bracer


The “If CD Exist” Function

To put it bluntly:
This function returns “True” if CD exist.
The “If the CD is Playing” Function

To put it bluntly:
Returns “True” if CD is currently playing.

The “Set Cursor” Function

To put it bluntly:
Change your cursor or hide it.

Elaboration:

You can choose what sprite you want your cursor to change into in the “sprite”
textbox.

If you choose the “No sprite” and “don’t show” options, you will essentially hide your
cursor.

Please note that all cursor change effect will only remain valid inside your game
window.

92 | P a g e GM8SGM Jack Bracer


The “Open Webpage” Function

To put it bluntly:
Open your default Web Browser to point to the designated website.

Elaboration:

This command can also act as a shell command, it can essentially open any file format
if you computer have the program associated to open them, but if your computer
don’t, Game Maker will give you an error message.
This action does not work in secure mode.

93 | P a g e GM8SGM Jack Bracer


Draw
The “Draw Sprite” Function

To put it bluntly:
Draw Sprite

Elaboration:

Please note that if the sprite you want to “draw” do not match the “rect” size of your
original sprite, collision events will NOT work correctly as the collision “rect” will be
taken from the original sprite.

94 | P a g e GM8SGM Jack Bracer


The “Draw Background” Function

To put it bluntly:
Draw the Background on screen.

Elaboration:

Everything here is pretty straight forward

95 | P a g e GM8SGM Jack Bracer


The “Draw Text” Function

To put it bluntly:
Draw Text on the screen

Elaboration:

If you did not use the “Set Font” function to change the font, the default font will be
“Arial” 12 points.

96 | P a g e GM8SGM Jack Bracer


The “Draw Scaled Text” Function

To put it bluntly:
A more advance form of “Draw Text”.

Elaboration:

This function gives you the added option to scale and rotate your text.

97 | P a g e GM8SGM Jack Bracer


The “Draw Rectangle” Function

To put it bluntly:
Draw a rectangle on screen.

Elaboration:

You specified the size of the rectangle and whether it is to be filled or outlined.
You set the color in the “Set Color” function.

98 | P a g e GM8SGM Jack Bracer


The “Horizontal Gradient” Function

To put it bluntly:
Draw a Left to Right Gradient Rectangle.

Elaboration:

“Color 1” specifies the starting color of the gradient from left to right.

99 | P a g e GM8SGM Jack Bracer


The “Vertical Gradient” Function

To put it bluntly:
Draw a Top to Bottom Gradient Rectangle.

Elaboration:

“Color 1” specifies the starting color of the gradient from top to bottom.

100 | P a g e GM8SGM Jack Bracer


The “Draw Ellipse” Function

To put it bluntly:
Draw an ellipse.

Elaboration:

You get to choose whether you want to draw a filled or outline-only ellipse.

101 | P a g e GM8SGM Jack Bracer


The “Gradient Ellipse” Function

To put it bluntly:
Draw a gradient ellipse from the center outward.

Elaboration:

“Color1” is the starting color of the ellipse from the center, “Color2” is the final color
of the Ellipse’s exterior.

102 | P a g e GM8SGM Jack Bracer


The “Draw Line” Function

To put it bluntly:
Draw a line.

Elaboration:

Pretty straight forward function.

103 | P a g e GM8SGM Jack Bracer


The “Draw Arrow” Function

To put it bluntly:
Draw an arrow.

Elaboration:

The “Line” of the arrow will always be one pixel but you can adjust the size of the
arrow head in the “tip size” textbox.

104 | P a g e GM8SGM Jack Bracer


The “Set Color” Function

To put it bluntly:
Set the color of your drawn objects.

Elaboration:

This function sets the color for your Texts, Rectangles, Ellipses, Lines and Arrows.
This function can be placed outside the “Draw” event.

105 | P a g e GM8SGM Jack Bracer


The “Set Font” Function

To put it bluntly:
Set the font of your drawn text.

Elaboration:

This function can be placed outside the “Draw” Event.

106 | P a g e GM8SGM Jack Bracer


The “Set Full Screen” Function

To put it bluntly:
Toggle between “FullScreen” and “Window” State

Elaboration:

You DO NOT want to put this function in the “Draw” event.

107 | P a g e GM8SGM Jack Bracer


The “Take Snapshot” Function

To put it bluntly:
Take a snap shot of your program.

Elaboration:

Even if your program had been set to fullscreen, the snapshot function will still only
capture your program at its original resolution without the title bar.

108 | P a g e GM8SGM Jack Bracer


The “Create Effect” Function

To put it bluntly:
An extremely simple way to create a variety of particle effects.

Elaboration:

This function does not need to be placed in the “Draw” event to work as it is
essentially based on the particle system.

109 | P a g e GM8SGM Jack Bracer


You get to choose from 12 different build-in effects:

Explosion: Ring: Ellipse:

Firework: Smoke:

Smoke Up: Star: Spark:

Flare: Cloud:

Rain: Snow:

When you choose “below objects”, the effect will be drawn behind your object.

As with all things, with simplicity comes limitation, when you are no longer satisfied
with prebuild effects, feel free to use the native particle system.

110 | P a g e GM8SGM Jack Bracer

Das könnte Ihnen auch gefallen