入门篇
GameMaker是一个很容易就可以开发你自己的电脑游戏的软件。这一章介绍你想制作的游戏所需要的知识。后面的章节会进一步讨论更多的功能,怎么发布你的游戏和介绍GameMaker的内建语言GML。
关于GameMaker的初级使用在下面的页面有介绍。
GameMaker制作原理
在研究GameMaker之前,最好先摸索一下GameMaker的制作原理吧。用GameMaker做游戏都放在一个或多个房间里。(房间是一个平台,不是3D的,但可以包含仿3D的图片。)在这些房间里,你可以放置物体(可以在GameMaker里定义)。经典的物体有墙、运动的小球、主角、怪物等。有些物体(像墙)是静止的什么都不做。另一些物体(例如主角)会响应玩家的输入(键盘、鼠标、手柄)而运动。或者物体跟物体间也会产生某些反应。例如,当主角遇到怪物的时候,主角会死亡。在GameMaker中,物体是最重要的。
首先,大多数物体都需要一些图象来让它们显示于屏幕上。这种图象叫做精灵图象。一个精灵图象不单可以是一张图片,可以是一套动作的图片集,用于表达物体的动作效果。这样,就可以达到像走动,转动等效果。在游戏中,精灵图象在某些特殊的物体里是可以改变的。(这样当物体向左或向右走时可以显示不同的图象。)你可以在GameMaker里制作自己的精灵图象,或者导入一些图片素材。 物体会发生某些事。这些事叫做事件。当事件发生时,物体会执行相对应的动作。物体可以发生很多事件并可以响应很多不同的动作。例如,当物体创建时会发生一个创建事件。(说精确一点是,物体中的某个具体对象被创建;物体相当于一个类,而对象就是类的一个抽象。)例如,当一个球被创建时你可以给它一些运动动作,这样球就可以运动了。当两个球相遇时,会发生碰撞事件。在碰撞事件发生时,你可以给球一个动作,让它停止或者反向运动。或者也可以产生音效。GameMaker可以让你定义一些声音。当玩家敲击键盘时,会产生一个键盘事件,物体会执行相应的动作,例如移动。我们希望你可以理解一点,设计每种物体,你要先定义事件,再在事件里加入对应的动作。
当你定义好物体之后,你应该开始设计房间了。这样,物体才可以在房间里表演。在游戏里房间可以用来设计关卡或者大地图的不同部分。用动作可以从一个房间移动到另一个房间。房间,首先,要有一个背景。背景可以是纯色的或者是一张图片。这种图片你可以在GameMaker里创建或者从外部调用。(背景可以做很多东西,但暂时只是用于美化房间。)下面,你可以将物体放到房间里了。你可以放入多个同样的物体。因此,例如,你可以只定义一种墙物体就可以在房间里放入很多这种墙。你也可以放入多个同样的怪物物体,这时它们的行为是一样的。现在你可以准备运行你的游戏了。运行时,会先出现第一个房间。物体也会按照设定的动作运动。它们会根据发生的事件来执行相应的动作。
下面这些是比较重要的资源:
物体:游戏中定义有各种事件动作的实体,它们是游戏的主要表现部分。 房间:放置物体让它们活动的地方,可以理解为不同的场景。 精灵:用来展示物体的图片,它只是图片,无任何属性行为。 声音:用在一个游戏中的背景音乐或者音效。 背景:为房间定义背景的图片。
事实上还有其它很多的各种类型的资源比如说:路径、脚本、字体、时间轴等。它们在更复杂的游戏中起到了很大的作用。这些只有你在高级模式下运行
GameMaker才可以看得到。如果你觉得有很多细节没有看懂,没有关系,在后面的章节中,我们将分门别类的对每一个资源设置项目进行详细的讲解。这里我们只希望可以让你对GM的运行体系有个大致的了解。
一个例子
首先最好让我们来看看一个简单例子。我们假设你在简单模式下运行
GameMaker。第一个步我们先在脑海里大概的勾画一下我们要制作的游戏是什么样子的(你最好先做这一步工作,当你打算开发大型游戏时,你就不是简单的在脑海里勾画了,你必须有你的游戏开发进程表,以及各种有条理的书面规划,这样可以为你在以后的开发中节省很多时间)。我们现在的个例子是很简单的:有一个球在几面墙之间弹跳,玩家可以点击球,每一次点到会得一分。
那么首先我们需要两种不同的游戏物体:球和墙。这样我们需要两种精灵图片来表示两种物体。最后,当我们成功点中球时我们会听到一些声音。这个简单的游戏我们只要为它设置一个房间就可以了。不妨让我们自己动手来做做吧,在做的过程种如果你碰到什么地方不会的话可以调出例子来看看。(ball.gm6) 好了开始动手吧。首先我们制作好精灵图片,从“添加”菜单菜单里我们选择“添加精灵”,你可以看到一个弹出的窗体,在“名称”选项里我们输入“wall”,选择“读取精灵”按钮并选择一个类似墙的一个小图片,这样我们就得到了一个墙的精灵图片。现在你可以关闭该窗体了。以同样的方法为球(ball)也建立一个精灵图片。
下面我们添加声音,从添加菜单里面选择“添加声音”,另一个窗体将会打开,给声音取一个容易识别的名字并选择“读取声音”,载入一个声音资源并试试是否是你想要的效果,如果设置好了就可以将窗体关闭。
下一步是创建两个带事件的物体,首先让我们来看看墙物体。再次从添加菜单中选择“添加对象”,将会弹出一个比之前复杂一点的窗体。左边我们看到是物体一些大概的相关信息。我们给物体取一个贴切的名字并且从“精灵”下拉菜单中选择一个正确的精灵图片。因为墙是一个固体所以我们在“固态”选项框打上沟。现在我们来建立一个新物体,给它取名为“ball”,并且给它一个球的精灵图片。因为球是运动的所以我们就不要钩选“固态”选项了,一会我们还要给它
设置行为动作。在中间你可以看到一个还没有添加任何事件的空列表栏,在栏下面是一个名为“添加事件”的按钮,单击它会列出所有的事件。选择“建立”事件,你会看到它被添加到了事件列表中。在最右边你可以看到所有可以用的动作命令,它们都已经被分好组了。从“移动”组里面我们选择一个8个红箭头图标的动作拖动到动作栏中,这个动作将让物体朝一个特定的方向运动。当你完成拖动后一个对话框将会显示出来,在里面你可以指定物体运动的方向。选择所有的箭头以便选择一个随机的运动方向。你可以指定速度为8。好了,现在关闭对话框。现在球从开始建立就可以运动的事件已经设置好了。下一步我们将要设置球碰到墙会有什么反应。再次按“添加事件”按钮,在球的事件列表里选择“碰撞”事件,并且在下拉菜单里面选择墙物体(和墙相撞)。在这个事件里面我们将要添加一个“反弹物体”的动作。(在动作按钮上,你只要把鼠标放在上面几秒钟就会弹出动作介绍的帮助气球)最后我们需要定义当用户球物体被鼠标左键单击发生的行为。添加“鼠标”事件并且从下拉菜单中选择“左键”事件。为这个事件我们添加一些新动作:一个用来播放声音,另外一个用来更改分数值,两个动作分别可以在“主要一”组和“分数”组中找到。还有另外两个动作是用来给球一个新的随机位置并且朝一个新的方向运动。用同样的方法添加好。在声音动作里面我们选择好正确的声音。在分数动作里面,我们输入1并且在“相对”选项前点钩,意思是在当前的分数值上加一。最后,加上一个“跳到随机位置”动作和一个8方移动的动作。
现在我们的物体就准备好了,我们还要做的是设置房间,或者说场景。为游戏添加一个房间,再次选添加菜单选择“添加房间”,在右边你可以看到空空的房间还没有放置任何物体和背景。左边你可以看到一些标签菜单选项。一个用来设置背景,一个设置房间的大致属性,象长宽之类的,还有一个菜单你可以用来往房间里面添加定义好的物体,在底部你可以从下拉菜单里选择物体。通过点击房间的指定位置你可以将物体放置在房间的指定位置。你可以右击物体来将它删除。用墙物体建立一个美观的方形墙壁,最后把一两个球物体放置在房间的墙壁围好的空间里面。我们的游戏到此已经全部准备完毕。
现在是我们将要测试的时候了,单击“运行”按钮,看看会有什么发生。如果在球刚开始运动的设置上没有发生错误,那么你试着点击它看动作是否有误。你可以通过键盘“ESC”键停止游戏。同时你也可以为这个小小的例子做更多的变化,比如你学了粒子效果,你可以为球添加运动的轨迹效果,并且当两球碰撞时产生火星等。
恭喜你,你已经用GM制作好了你的第一个游戏。好了接下来,就让我们更深入的到每一个环节去学习吧。
精灵图象
精灵图像在游戏中是用于表现物体的资源(可以将物体看成灵魂,那精灵图象就是肉体)。一精灵图像可以是一个单独的图像,也可以是一组一个接一个播放的图片集。
当你做一个游戏的时候,通常你会收集游戏里所需要的精灵图形素材。你可以在GameMaker的网站上找到一些简单的素材,在网上也有很多。一般格式都是gif的。专业游戏制作组制作游戏时会让美工设计好一套各种角色图形。一般的爱好者可以自己动手,也可以到网络上通过其它途径寻找现有图形资源来制作游戏。 你可以通过添加菜单或者工具栏的按钮来添加精灵图象。添加时,会打开一个精灵图象的属性窗体。
在上方你可以指定精灵图像的名称.全部精灵图像(和其它全部的资源)都要有一名称。你最好给予每个精灵图像一个描述性的名称。并确定所有资源有不同名称。虽然不需要严格地遵守命名规则,但建议你在精灵图像名称上只使用文字、数字和底线符号(_) 命名(任一其它的资源也一样)并以一英文字开始。特别是不要使用空格符,一旦你开始使用脚本后将会发现按规则命名非常重要。 要加载一精灵图像,点选“读取精灵”按钮。将会弹出一个标准的文件打开对话框,你可以指定精灵图像。GameMaker可以加载许多不同格式的图象文件。当你加载一动画gif,不同的帧组成精灵图像(注意被压缩的动画gifs文件不可以被加载)。只要精灵图像被加载,那么第一个子图形会被显示在窗体右边。当精灵图形是动画时,你可以使用工具栏的箭号按钮来更改它们的顺序。
“透明”选项指定精灵图像的背景是否要被当成透明来处理。大多精灵图像背景都是透明的。背景色是由图像最左下方的像素颜色来决定。所以要确定图像要显示的部分中没有是透明色的颜色,否则将被透明化而不被显示。
可以用“编辑精灵”按钮来处理精灵图像,或甚至创建一完全新的精灵图像。后面章节有详细介绍。
声音与音效
大部分游戏有特定的声音效果和一些背景音乐,在GameMaker网站中也简单的提供了一些声音文件,你可以在网络上搜集更多音效资源。
添加声音资源到你的游戏中,可以在添加菜单中使用“添加声音”命令或在工具栏中使用对应的按键。这时候会弹出一下像下面的属性窗体:
在上方你可以更改声音资源的名称。需要加载一声音,单击“读取声音”的按钮,显示一个文件打开对话框,在上面你可以选择声音文件。有两种类型的声音文件,wave文件和midi文件 (关于mp3文件后面有介绍,因为比较特殊):wave文件通常用于短音效。它们使用许多的内存,但是播发很快就结束。可在你的游戏中当作音效使用。midi文件使用较少内存,但是它们被限制在只作为背景音乐,不支持各种音效。而且任何时间只可以有一个midi声音在播放。
你可以使用播放按键听声音效果。有一个“保存声音”的按钮用于保存当前的声音。这按钮不是必须的,但某些时候还是有用的。
背景
第三种基本资源是背景。背景通常是较大的图像,常用于游戏发生的房间中做背景(或前景)。通常背景图像可以用看不出缝隙的元件类图形用来重复排列形成。GameMaker的网站也提供了一些简单背景图象。
要添加一背景资源到你的游戏,在增加菜单中使用“添加背景”命令或在工具栏中使用相对应的按钮。这时将会弹出背景的属性窗体:
同样你要给背景取一个名称。单击“读取背景”按钮以加载一背景图像。
GameMaker支持许多格式的图象文件。要注意背景图像不可以是动画!(透明)复选框指出背景是否为部份透明,大部份背景不透明的所以默认值为否。最左下方像素的颜色被拿来当做透明颜色。
你可以使用“编辑背景”按钮来更改背景或创建一个新背景。
物体
到目前为止你应该可以添加一些漂亮的图片和好听的声音到游戏中了,但它们不能产生任何行为。现在我们来了解GameMaker中最重要的资源:物件。物体是在游戏中实际动作的实体,大多数情况下它们会用精灵图像来展示自己,这样你就你可看见它们。同样它们有行为,它们可以对一定事件作出反应,这就是物体区分于精灵图像的区别,因为它们有事件、有行为。在游戏中你见到的放在场景中的东西都是物体(除了背景之外。更精确地说,它们是物体的实例)。人物、怪物、球、墙壁、等等,全部是物体。也有一些特定物体是你不看到的,因为它没有设置一个用来显示它们的精灵图像,但是它们仍被放在场景中,它们事件在控制游戏某部分的运作。
需要了解精灵图像和物体之间的差别。精灵图像只是(动画)图像,而没有任何行为。通常物体有一个精灵图像代表它们的外观,但是物体有行为,没有物体游戏就不发生任何事件产生任何效果,也就没有游戏!
还要了解在物体和实例之间的差别,一个物体描述一特定的实体集合。例如:一个怪物。在游戏中一种物体是可以有多重实例的。当我们谈及到一个实例时代表一个物体中一个特定的有一个ID编号的实例,当我们谈到一个物体时代表该物体中全部的实例。也就是说一个物体可以有很多个实例用来代表这个物体来使用,物体是所有实例的总称。物体是一个集合,实例是物体的一个抽象(如果学过面向对象编程会很容易理解,就是类跟对象的关系)。
要添加一个物体到你的游戏中,从添加菜单中选择“添加对象”。会出现下面的窗体: