GameMaker教程

GameMaker教程 姓名

基础篇

数量的增加:

两种格式: a = a + 1

a + = 1 两种相同效果。

坐标:

坐标是确定某个物体位置的,有了它,我们便可知道物体的位置。

x 当前物体的x坐标 y 当前物体的y坐标

x , y 表示某个物体的总坐标格式 例: x=100

y=200 表示本物体的x坐标=100,y坐标=200。物体坐标100,200。

坐标的变化:

当一个物体向左移动时,它的x坐标会慢慢的减少,y坐标不变;向右移动时,它的x坐标则会增加;向上移动时,y坐标慢慢减少,x坐标不变;向下移动时,y坐标慢慢增加。

练一练:填空。

注:每按下某个键,减少或增加3。

: 。 : 。 : 。 : 。

Sprite(精灵图片):

Sprite是游戏的最基础的东西,每一个物体都能是由精灵图片组成。在左边的一栏的第一个。(图1) 右击后点击第一个创建。(图2)

□ Sprites □ Sprites □ Sounds

□ Create sprite □ Backgrounds

□ U复制 □ Paths

□ Create Group □ Scripts

按名称排列(Z) □ Fonts

□ Time Lines □ Objects

□ Rooms 图 2

图1

创建后,可以看到几个按钮(图3)。

载入精灵:载入一般已经产生连环效果的图片或静止的图片。 保存精灵:保存当前精灵图片,以gmspr格式呈现。 编辑精灵:可以对精灵图片进行美化或修改,也可以添加一些以连环图片在一张图片的精灵。 编辑笼罩层:可以修改碰撞盒。

中心:把中心设定在图片的中心位置。 完成:完成该精灵的修改或创建。

练一练:操作。

创建一个图片,并且载入GameMaker 8.0 \\ Sprites \\ Maze - Platform文件夹下的apple图片,把中心确定在图片中心,并把名字命名为spr_apple。

Object(对象):

Object是游戏中最核心的东西(在Object里还有更核心的)。在左边的一栏的第8个(高级模式)。创建的方法和图片一样。

右边一栏有7个选择,分别为:move、main1、main2、control、score、extra、draw。分别表示:移动动作、主要1、主要2、控制动作、分数动作、粒子、绘制动作。

例1:创建两个图片,画上两个不同颜色的球,并且创建两个属于他们的对象。然后,使A球撞击B球后,两球同时消失。

这道题目看似很难,其实十分简单。这是最最基础的碰撞的学习。

首先,创建两个球的图片,并且命名为spr_q1、spr_q2。再创建两个球的对象。点击精灵处的(原来显示的位置)右边一个“□ ”的东西。选择第一个图片(spr_q1),然后,命名为q1,关闭这个对象。在第二个对象里选择图片为spr_q2,并命名为q2。

然后,点击添加事件。点 ,选择q1。下面就是要选择碰撞到q1的效果了。点

击右边一栏的main1。拖动到“动作”的大栏里。这个按钮的作用是消失自己或他人或

对象。

最后,关闭q2,打开q1。和添加q2碰撞相同,只不过点击 后,选择q2。

练1:创建两个图片,画上两个不同颜色的球,并且创建两个属于他们的对象。然后,使A球撞击B球后,A球消失。

Alarm(计数器)

Alarm是一个计数器,可以用于等待时间、代谢的时间等。Room_speed为一秒,一般默认30。

例1:让球1等待5秒后开始向右移动。Speed = 2。

这一题十分简单。首先创建图片以及物体。在该物体的添加事件里选择(create)。点击main2,拖动第一个(钟形)。在number of steps里输入5*room_speed(或150)。点击完成。

好了,下面点击添加事件,选择“A_计数器”,点击Alarm 0。点击move,拖动第一个(红颜色八方向箭头)。朝右的蓝色箭头,如果成功,将变为红色。速度填上2。即可。

练1:让球1等待10秒后开始向右上移动。Speed = 1.2 。

Step(步)

这个你可以理解成:不停地运行??

Keyboard(键盘)

这个里面有三种:键盘、按下键盘、松开键盘。 键盘:一直按下就反复执行命令。

按下键盘:一直按下算一次,只执行一次命令。 松开键盘:前两项按下后松开发生指令。

(其他)

里面有一些较简单的判断,帮助制作游戏。

Draw(绘画)

所有的画图代码和按钮必须再次敲入,而且此处的画也是不停地运行??判断。

代码(GML)

1、 point_direction (x1,y1,x2,y2)

此代码表示了 x1,y1 与 x2,y2 之间的方向。

例:point_direction ( x , y , mouse_x , mouse_y) 表示该物体与鼠标的方向。

2、 point_distance (x1,y1,x2,y2)

此代码表示了 x1,y1 与 x2,y2 之间的距离。

例:point_distance ( x , y , enemy1.x , enemy1.y) 表示该物体与enemy1的距离。

3、 random ( x )

表示一个随机的实数,范围从0至x 。数值总小于x。

4、 irandom ( x )

表示一个随机的实数,范围从0至x 。数值总小于x,总为整数。

5、 choose ( var1 , val2 , val3 ,??)

随机选择其中一个参数。最多可以有16个参数。

6、 global . 变量名

一个全局变量。

7、 var , , , ?? ;(注意“;” )

有时,你需要让某个变量只在当前一段代码中使用,而又不想浪费内存,又怕与其他变量混淆。这时你需要用到此代码。

例:var xx , yy;

xx = x + 10 yy = y + 10

instance_create ( xx , yy , ball )

8、 other 涉及到碰撞对象的实例 all 所有实例

9、 a [ 0 ] 数组

10、 if ( <表达式>) <语句> 或 if ( <表达式>) {<语句>;<语句>;}

11、 repeat ( <次数> ) <语句>

12、instance_number ( obj )

表达该object的数量。

13、instance_destroy ( )

消失自己。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4