[计算机软件及应用]gamemaker完全中文帮助文档_第1页
[计算机软件及应用]gamemaker完全中文帮助文档_第2页
[计算机软件及应用]gamemaker完全中文帮助文档_第3页
[计算机软件及应用]gamemaker完全中文帮助文档_第4页
[计算机软件及应用]gamemaker完全中文帮助文档_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、gm完全中文开发教程第1章 想要设计计算机游戏计算机游戏相当好玩,但自己设计计算机游戏给别人玩是更有乐趣的。不幸的是,制造计算机游戏并不容易。市售的计算机游戏需要10到50个人花上1到3年研发。预算动辄上1,000,000元,这些研发人员都是各领域的专家,包括:程序设计师、艺术设计师、音效专家等等。这代表要设计自己的计算机游戏是不可能的吗?幸好不是,当然不要期望在几周之内设计出类似世纪帝国的大型游戏,对一般人而言,这不可能,也不需要。另外有些比较简单的游戏,如俄罗斯方块,小精灵,小蜜蜂等等,是很好玩也比较好设计的游戏。不幸的是,设计这些游戏仍然需要强大的程序设计能力以控制图片、声音、使用者接口

2、等等。但是游戏制作软件上场了。这软件是为降低游戏设计的难度而写,不需要写程序,用简单直觉的拖放鼠标接口立即设计自己的游戏。你可以输入或设计影像、子图形(会动的影像)声音并使用他们。你可以很容易地定义游戏中的对象以及他们的行为表现,你可以设计有卷动背景的华丽场景。万一你想要对程序全面控管,游戏制作者中内建了程序语言,让你可以对游戏当中的所有组件做控制。游戏制作者着眼于2-d游戏的设计,没有3-d的效果,但是不要失望,许多经典游戏,如世纪帝国等都是利用2-d动画特效,使他们看起来像3-d,设计2-d游戏比3-d要来的简单、快速。也许游戏制作者最棒的部分是免费,你可以没有限制的创造游戏,没有纠缠不休

3、的付费屏幕画面,喜欢的话甚至你可以卖游戏,详细情形请看许可协议文件。本文会告诉你关于游戏制作者以及如何用他来设计游戏。请了解即使使用类似游戏制作者的程序设计程序,设计计算机游戏程序并非全然没有价值、不重要的,一样的,有太多的方面需要考量:玩游戏、图形、声音、使用者接口等等。用比较简单的范例开始,你会感受到设计游戏时那一种快乐。第2章 安装也许你已经安装了,但如果还没有,只要执行gmaker.exe,照着屏幕上的指示,你可以把程序放在任何你喜欢的地方(当然最好使用预设的建议)。当安装完成了,在开始的选项中你可以发现游戏制作者的程序群组,你可以从中开始游戏制作者并阅读相关文件,除了游戏制作者程序之

4、外,在求助档案中也安装了相关文件。在安装的档案夹中(预设c:/program files/game_maker4/)有其它的档案夹。范例:有一些游戏范例,用来检查或是改变程序。子图形:搜集了一些免费软件(动画)可以在你的游戏中派上用场。背景:包含一些免费的背景,也包含了一些砖块组。声音:包含了一些免费的声音,可以使用在你的游戏中。小程序:包含了一些有用的小程序(参照第18章) 。子图组、背景、声音、砖块组不是程序制造者的一部分,可由免费软件中取得。游戏制作者需要pentium等级的个人计算机,在windows 95, 98, nt, 2000, me系统中执行。它需要屏幕的分辨率最少800x6

5、00以及65000 (16-bit)颜色。须安装directx。在设计与测试阶段,需要大于32mb的内存空间,当执行游戏时,内存空间可以减少,视游戏规模而订。第3章 整体的观念物件:在游戏当中实在的存有物。房间:对象存在的区域(关卡)。子图组:用来表现对象的影像。声音:当作背景音乐或是某种影响而被用于游戏中。背景:在场景中使用影像当成背景。还有另外一种资源:小程序。小程序是一段程序代码,能延伸游戏制作者的可能性。在本书中的进阶章节里将会讨论它。第4章 一个例子刚开始时看一个简单的例子是很有帮助的。首先是要描述我们想做的游戏 (每次都要这样做,可节省事后的工作) 。非常简单的游戏:一颗球在墙壁之

6、间跳跃,玩家需用鼠标尝试去点到这颗球,每次点选到时,都可得一分。可预见的我们需要两个不同对象:球以及墙壁。同样我们也需要两个不同子图组:一为球对象,一为墙壁对象。接着希望在鼠标成功点选到球时发出某种声音。此游戏中仅使用一个场景。(若你不想自己设计,可在范例档案夹中下载此程序,文件名:ball.gmd)。先做子图组,从增加(add)选单中选增加子图组(add sprite,也可在工具箱中找到相称的按键)。一种窗体开启了。在名称空格中填入”wall”。选择加载子图组按键,并挑选一个合适的子图组。(可在maze档案夹中找到),就这样,结束窗体。以同样方式制作球子图组。下一步是制作声音,从增加(add

7、)选单中选增加声音(add sound),不同的窗体开启了,给声音一个名称并选择下载声音,可由按下放音按键(play)决定声音是否好听后,选择适合的一个,若你满意,关闭窗体。下一步是创造两个对象,我们先做墙壁对象。同样从增加选单中选增加对象(add object),会跑出比我们之前所见更加复杂的窗体。窗体左边是有关于对象的整体信息,给对象取一个适当的名字(填在name),并从sprite下拉式选单选择正确的wall子图组。由于墙壁是实心,你必须检查复选框上是否在solid上打勾,这样就好了。再创造一个新对象(add object),称他”ball”,给他ball子图组。我们不使球变成实心,在球

8、对象中我们定义某种行为(event)。窗体中央是空白的,其下有”add event”按键,按下后你可看到所有可能的事件,选择创造事件(create),它将被加在事件列表中。现在最右边你看到所有可能的动作依附于一些群组中。从move群组中选一个有8支红色箭头的图案,将其拖曳至窗体的中央:动作表列(action)处,这动作会让对象在一个指定方向上移动。当你把此箭头图案拖曳至行动表列中并再次点选之后,可由弹出的对话框中指定移动方向。按下所有的8个箭头来选择一个任意的方向。速度不必修改,就是8。现在关闭对话框所以此时当球被创造的那一瞬间,球将开始运动。再来我们必须定义当与墙壁产生一碰撞事件时会发生什么

9、事情,再一次地按下增加事件。按下碰撞事件按键(collision),在下拉式选单选择墙壁对象。在这事件中我们需要弹回(bounce)的动作(把鼠标指针移到动作按键上方一会儿你就能够知道每个动作内容) 。最后我们要定义当玩家在球上按下鼠标左键时会发生什么事。从弹出选单中增加这对应的事件(event selector中选择mouse)并在弹出选单中选择”left press”按键。为了这事件(鼠标左键捕捉到球)我们需要一些动作:其一是播放声音(可以在misc. 群组中找到声音动作)及改变得分(也是在misc. 群组中) 其二是把球搬移到一个随机选择的新位置并赋予一个新的移动方向(同样地使用创造事件

10、)。加入声音动作,选择正确的声音:加入分数动作,键入数值:1,并勾选”relative” 选项。这样代表在目前分数上加1 (假如输入错误,你可双按这个动作按键来改变它的设定)。对象现在准备好了。只剩下定义场景。再一次从增加选单中增加一个新的场景到这游戏中。在窗口右边你会看到空着的场景。在左边你找到某些可改变的属性,像是这场景的宽度和高度。左下方有一处让你用弹出选单来选择对象。再将鼠标光标移至场景中,用按左键的方式把对象图例放在那里。你能用鼠标右键移除此图例。在场景周围,使用墙壁对象创造一好看的边界。最后,在场景中放置1或2个球对象。好啦。是试验我们的游戏的时候啦。按下执行(run game)按

11、键,看发生什么事。假如你没弄错的话,可看到球开始四处移动。你能按下键停止这游戏。你现在可以制作更进一步的变化。恭喜。你作成第一个小游戏了。但是我想现在是学习更多关于游戏制作者的时候啦。第5章 使用者接口概观当你开始制作游戏制作者时会显示出下面的格式(如下图):在左边你看到不同的资源, 从上而下有:子图组、声音、背景、路径、小程序、对象、场景和游戏信息、游戏选项。在上面有众所周知的选单和工具列。在这章节中我将简短地描述不同的选单项目、按键、等等。接下来的章节我们将对其中一部分作详细地讨论。注意许多相同结果有可能用不同方法达成:经由选单中选择一个指令、经由按一个按键、或直接在资源上按一下。5.1档

12、案选单在档案选单中你能找到常用的指令如开启和储存档案,还有一些特别的指令:new新游戏选择这指令,以便开始创造一新游戏,此时若目前的游戏被改变了,你会被问及是否要储存它。在工具列上也有一相对应的按键(new)。 open。打开档案。打开一游戏档案,游戏制作者扩展名是.gmd。同样地在工具列中也可找到open按键,你也能可以经由鼠标拉拖档案到这游戏制作者窗口来开启一游戏。 save。储存。用目前的档名储存这游戏设计档案。如果之前没有指定文件名,计算机会向你要一个新档名。当游戏档案被改变之后,你才能使用这指令。再一次说明,在工具列上也有一相对应的按键(save)。 save as 。储存如。用不同

13、的档名储存这游戏设计档案,计算机会问你一个新档名。 create stand-alone。创造独立执行的游戏。使用这功能为你的游戏创造一个独立的样式,你的游戏可藉此传给别人。 import scripts。输入小程序。在23章中你将获得更多关于游戏传送的信息,用于从档案引进有用的小程序。 export scripts。输出小程序。用于把你的小程序储存在一档案中,以被其它的人使用。在第18章中将更详细地讨论。 merge game。合并游戏。同样地看18章用这指使你能把别的游戏全部的资源(子图组,声音,对象,场景,等等)合并到目前的游戏。假如你想要再使用游戏的一部份,这是非常有用的 (例如选单系

14、统)。 (记得全部资源和图例和砖块组将得到一个新的编号,如此在搭配小程序时将产生问题。) preferences。偏好。在这里你能设定一些关于游戏制作者的偏好,这些偏好,会在不同时间的游戏制作者程序呼叫中被保留。o show recently edited games in the file menu。可以设定以下的偏好。在档案选单中显示最近编辑的游戏,若勾选,则在档案选单中会显示最近编辑的四个游戏。o use compression when saving games。o 当储存游戏时使用压缩。若勾选,则将压缩游戏档案中的图像。这将大量减低游戏档案大小,但是也将稍微增加开启和存档时间。o k

15、eep backup copies of files。o 保持备份。若勾选,则将游戏程序储存一个备份,此备份的扩展名是.bak。将扩展名改成.gmd,就可再次地使用它。o hide the designer and wait while the game is running。o 当游戏执行时隐藏设计窗口并等待结束。若勾选,则当你执行游戏,这设计窗口将消失直到这游戏结束。o run games in secure mode。o 在安全模式下执行游戏。若勾选,凡在你的计算机上用游戏制作者设计的游戏不允许执行外部程序,或在游戏目录外改变或删除档案(这保护计算机免于被植入特洛伊(木马)程序)。但勾选

16、这个可能使某些游戏不能正常工作。o in object properties,show hints for actions。o 在object properties格式中,显示动作的提示。若勾选,则当你把鼠标光标停留在object properties格式上的动作图示时,会显示一组描述文字。o in room form, remove instances outside the room。o 在场景格式,移除位置在场景范围外的图例。若勾选,则当场景外有图例或砖块组时,程序会告诉你,并让你移除他们。o scripts and code。o 小程序和程序代码:看第1 8章以获得更多关于偏好的信息。

17、o image editor。o 影像编辑器:游戏制作者预设使用一嵌入的编辑器来编辑影像。假如你有一更好的影像编辑程序,请你在此指定。o recent files。最近的档案:除非不点选这偏好,不然最近使用的四个游戏会显示在此,你只要使用鼠标按触就能开启他们。o exit。离开:顾名思义,按这钮来离开游戏制作者。假如你有改变过目前的游戏,你将被问到是否想要储存它。5.2 edit menu 5.2编辑选单编辑选单包含一些与目前选择的资源(对象,子图组,声音,等等)相关的指令,或资源群组相关的指令。也许某些指令不能用,依资源的类型而定。 insert resource。插入资源:在目前选择的资源

18、类型中插入一新图例,这图例可在之前的资源中挑选(假如你选择一群资源,则资源会被增加在这群组中)。将打开一个窗体让你能够改变这资源的属性,下面的章节中将详细地探讨。 duplicate。副本:复制资源并增加它。一窗体被打开让你能改变这资源。 insert group。插入群:资源可以被群组在一起。当你制作大型的游戏时,这样做非常有用。譬如,你能在一群组中放入与特定对象相关的全部声音,或你能把特定的关卡中出现的所有对象群组起来。这指令在现有选择的资源类型中创造一个新的群组,计算机会向你要一个群组名称,群组又能包含群组,等等。如同在下面指出的,你能将资源拖拉到群组中 delete。删除:删除目前选择

19、的资源(或群组资源)。要小心,这不能复原,虽然你将被警告。 rename。重新命名:给予这资源一个新的名称。从资源的属性窗体中也能执行此功能,你也能选择这资源然后再在名称上按一下鼠标左键。 properties。属性:使用这指令来带出编辑属性的窗体。注意全部的属性窗体出现在主要窗体范围内,你能同时地编辑他们,你也能在这资源上双按鼠标左键来编辑这资源的属性。 show object information。显示对象信息:使用这指令你能获得在这游戏中全部对象的概要,注意这些指令也可用不同的方法得到。在一资源或资源群组上按鼠标右键,将出现适当的弹出选单。5.3增加选单在这选单中你能为每一不同类型增加

20、一新的资源,注意对每种增加选单而言,在工具列上和键盘快捷方式上皆有一对应的按键。5.4窗口选单 在这选单你可找到一些管理主要窗体中不同窗口属性的一些常用指令:串接:串接全部的窗口如此一来每个窗口都是部份可看见的。 arrange icons。整理图示:整理所有的图像属性窗口(最小化窗口),当调整主要窗体大小时特别有用。 close all。关闭全部:关闭所有的属性窗口,询问这使用者要不要储存已做成的改变。contents。5.5求助选单这里你可找到某些指令来帮助你:内容:这里你能取得这文件在线的版本。 how to use help。如何使用求助:避免你不知道,在使用求助时提供某些帮助。 we

21、b site。网页位置:连接到这游戏制作者的网页,在那里你能找到游戏制作者最新的版本的信息,并有为游戏制作者搜集的游戏和资源。我建议你为了新信息试试这网页位置,一个月至少一次。 about game maker。关于游戏制作者:提供关于这版本的游戏制作者一些简短的信息。5.6这资源探险者在这主要窗体的左边你可找到资源探险者。在这里你将看到你游戏中全部资源的树状结构。这与窗口探险者有同样的操作方式,你会很快地熟悉它。假如一个项目之前有一个+号,你能点选此记号来看它内部的资源。经由点选这-记号,这些内部资源又会消失。你可以改变这资源的名称(除了这最上层之外)经由选择它(用按键点一下)然后在这名称位

22、置上点一下,在资源上双按以编辑它的属性。使用鼠标右键来进入与这编辑选单(edit menu)相同的指令。你能改变这资源的顺序,经由用鼠标点选并按住鼠标按键不放。现在你能拖曳这资源(或群组)到这适当地方(当然这地方必定要正确,例如你不能拖曳一声音到这子图组的目录)。第6章 章定义子图组子图组是在这游戏中全部对象的视觉代表。一子图组可以是一个单独的影像,以任何你喜欢的绘图程序画出,或是一组一个接一个播放的影像,看来像是卡通动画,譬如,这下面四个影像形成一子图组,让一小精灵往右移动。当你制作一游戏时,你会为了对象收集一组好看的子图组而开始游戏设计。一子图组的收集,不管是静态或动态,游戏制作者都有提供

23、。其它的子图组可以在这网页上被发现,通常在这动画gif 档案的格式中。要增加一子图组, 从这增加选单或使用工具列中相对应的按键选择增加子图组的项目。这下面的窗体将弹出(如下图):在这上方你能指定这子图组的名称,全部子图组(和其它全部的资源)都要有一名称。你最好给予每个子图组一个描述性的名称,并确定全部资源有不同名称。即使这不是严格地需要遵守,强烈建议你在子图组名称上只使用文字、数字和这底线符号(_) 命名(任一其它的资源也一样)并以一英文字开始,特别不要使用这空格符,一旦你开始使用小程序后这将成为非常重要的规则。在那里有二个标签,标示着标准和进阶。目前我们将只谈论到这标准选项。进阶选项会在第1

24、3章被讨论。要加载一子图组,点选这装载子图组(load sprite)按键。标准的档案对话框打开来,使你能指定这子图组。游戏制作者能下载许多不同的绘图档案,当你下载一动画卡通gif,这不同的子画面形成这子图组影像(注意被压缩的动画gifs档案不能被下载)。只要这子图组被下载,这第一个子画面会被显示在窗体右边。当那里是多重子画面时,你能使用箭号按键来让他们循环依次呈现。这核取标签透明(transparent)指定这子图组的背景是否要被当成透明来处理,许多子图组是透明的。这背景是经由这影像最左下方的像素颜色来决定。所以要确定这影像中,没有其它像素是这颜色(注意gif 档案常常定义他们专属的透明颜色

25、。这颜色却不能使用于游戏制作者)。用这编辑子图组按键(edit sprite)你能编辑这子图组,或甚至创造一完全新的子图组。为了得到创造和改变子图组的更多信息,请看第13章。第7章 声音和音乐大部份游戏有特定的声音效果和某些背景音乐,在游戏制作者中有提供某些有用的音效,在网页上可以发现更多音效。增加一声音资源到你的游戏,在增加选单中使用增加声音(add sound)项目或在工具列中使用相同的按键。下面的表格将出现:如同先前的章节,在上方你能改变这声音资源的名称。再一次你有二标签,标准和进阶。这里我们只讨论标准选项。看第14章以得到更多有关进阶卷标的信息。下载一声音,按下标示下载声音(load

26、sound)的按键,显示一选择档案对话框,在其中你能选择声音档案。有两个类型的声音档案,wave档案和midi档案 (看第14章以得到mp3 档案的信息):wave档案通常用于短音效。他们使用许多的内存,但是随即播放完毕,可在你的游戏中当作音效使用。midi档案以一不同方法描述音乐。结果他们使用较少内存,但是他们被限制在乐器演奏上,作为背景音乐。一样地,任何时间只能有一个midi声音播放。当你下载一音乐档案,随即显示它的种类和长度。你能使用播放按键(play)听这声音。第8章 背景 第三种基本资源是背景。背景通常是大的影像,常用于游戏发生的场景中做背景(或前景)。通常背景影像是由在某区域贴上看

27、不出缝隙的砖块组而被做成,这么来你能用某些形式填满这背景。游戏制作者提供许多像这样贴砖块组的背景。在网页上可以发现更多。若要增加一背景资源到你的游戏,在这增加选单中使用add background项目或在这工具列中使用相对应的按键。下面的表格将会出现: 再一次你要给一个名称,同样又有标准和进阶选项。要得到更多有关的进阶选项信息,看第15章。按下load background按键以下载一背景影像。游戏制作者支持许多影像格式。背景影像不能是动画!transparent复选框指出这背景是否为部份透明,大部份背景不是透明的所以这内定值为否。这最左下方像素的颜色被拿来当做透明颜色。你可以使用这edit

28、background按键来改变这背景或创造一个新背景,第15章中有更多信息。第9章 定义对象 我们可能已经增加某些漂亮的图片和声音到这游戏中,但他们不能做任何事。现在我们来到游戏制作者最重要的资源:物件。对象是在这游戏中实际动作的实体,大部份的时后他们有一子图组当作写实的代表,如此你可看见他们,他们有行为因为他们能对一定事件作出反应。在这游戏中你见到的全部东西都是对象(除了背景之外,但更精确地说,他们是对象的图例)。这文字、怪物、球、墙壁、等等,全部是对象。也有一些特定对象是你不看到的,但是控制这游戏的某部分。请了解在子图组和对象之间的差别。子图组只是(动画)影像,而没有任何行为。通常对象有一

29、子图组代表他们,但是对象有行为,没有对象就没有游戏!也请了解在对象和图例之间的差别,一个对象描述一定的实体,例如:一个怪物。在游戏中一个对象是可以有多重图例的。当我们谈到一个图例时代表这对象中一个特殊的图例,当我们谈到一个对象时代表这对象中全部的图例。要增加一个对象到你的游戏中, 从这增加选单中选择add object。会出现下面的表格:这是相当复杂的。在左边有关于这对象的一般信息。在中间有能使对象发生的事件表列,看下一章节有更多的细节。在右边有能让对象执行的多种不同的动作,在第11章将做进一步说明。惯例上,你能(必须)给与你的对象一个名称,下一步你要指出代表这对象的子图组,为达到这目的,在这

30、子图组方块中按下鼠标左键,或在靠近它的选单按键按下鼠标左键,一选单将立即跳出,其中包含了所有可用的子图组。选择一个你想要用来代表对象的子图组,在下面有两个复选框,标示solid的复选框指定这是否是一个实心对象(像是墙壁)。和实心对象碰撞与和非-实心对象碰撞处理起来是不相同的,看下一个章节可得到更多的信息。visible表示是否这对象的图例是可看见的。显然,大部份对象是可见的,但有时无形的对象是相当有用的,譬如,你能使用他们作为怪物运动的指路者。无形的对象可作出反应的事件,且其它的图例也会与他们碰撞。这按键show information提供这对象全部信息的一览表,也可以被打印出来。当你不严密地

31、概观你的动作和事件时,这特别地有用。第10章 事件 游戏制作者使用一种称为事件驱动的方法,那就是说,在所有类型的案例中,这对象的图例得到事件(一种讯息表示某些事已经发生),他们因此经由执行一定的动作来对这些讯息作出反应。为了每个对象,你必须指定会让它反应的事件,和它必须执行的动作,这听起来很复杂但是实际上非常容易。首先,在大部份事件中,这对象不做任何事情,为了必须发生某事的事件,你能使用一个非常简单的拖放方法来指定这动作。在这对象属性表格的中央,有事件一览表,列出这对象必须作出的反应。最初他是空的,你能增加事件到其中,经由按下标示add event的按键。将出现一个有所有不同类型事件的窗体。在

32、这里,你可选择你想要增加的事件。有时一选单下还有额外的选择,譬如,为了这按键事件你必须选择按键。在下面我将给与一完整的列表外加描述:一个在这列表中的事件将被选择,这是我们现在正在改变的事件,你能经由点选它来改变这选择的事件。在右边有全部的动作,经由小图示来代表。他们是用一些卷标目录做群组。在下一个章节我将描述所有的动作和他们做什么。在事件和动作之间有动作列表,这列表包含目前事件的动作。要增加动作到这列表,用你的鼠标拖曳他们,从右边拖到这表列,他们将照拖曳顺序排列,并有一简短的描述。为了每个动作,你将被要求提供一些参数。这些也将会在下一个章节来描述。所以在增加一些动作后,这情形将看起来如下:现在

33、你能开始增加动作到不同的事件上,用这鼠标左键点选正确的(要设定的)事件来选择它,并在动作列表中拖拉动作(注意你不能删除事件,一旦你关闭这表格,一个没有动作的事件将自动被移除,所以若移除一个事件,则将移除它全部的动作)。你能改变这表格中动作的顺序,再一次使用拖曳。当拖曳时假如你按住这键,你会复制这动作,你甚至可以在不同对象中的动作列表之间使用拖曳(将动作拖曳到不同对象)。当你在一动作上点选鼠标右键时,一选单出现了,其中你能删除这动作(也可经由使用按键来完成)或复制和贴上动作。当你将你的鼠标指针放在一动作上方不动,会显现对这动作的一个较长的描述。看下一个章节来得到更多有关动作的信息。要删除现有选择

34、事件以及它所有的动作,请按下标示delete的按键 (当你关闭这格式时,没有加入动作的事件将自动被删除掉,所以不需要对没有加入动作的事件做删除) 。假如你想要指定这动作到一不同的事件(譬如,因为你决定不同的事件使用不同的按键) 请按下标示change的按键,并挑选你想要的新事件(这新的事件不能是已经下定义(被使用过了)了的)。那里有相当大量的、不同事件的集合。如同你注意到的,某些事件名称的旁边有一选单符号紧邻着它。这表示在这里有一些事件的集合。当你在选单上按下鼠标按键,或在这事件名称上按鼠标右键,出现选单让你能挑选想要改变的事件。这里是各样事件的描述(再次提醒你通常只使用其中的少数几个事件):

35、 create event创造事件:当这对象的一个图例被创造时触发这事件,通常使用来启动图例和/或为了这图例设定特定变量。当物体的一个实例被创建(或者说是放到场景上时)触发事件,是物体实例的第一个执行的事件,一般用来为实例设定特定变量以及定义物体开始时的运动或者要发生的动作。destroy event摧毁事件: 当这图例被摧毁时触发这事件。更精确地说,它发生在图例被摧毁之前,所以当这事件在执行时,这图例还确实存在!一般而言,这事件不常使用,但是你能使用它,例如使用它来改变分数,或另外创造对象。当实例在场景中被删除时触发的事件。更精确地说,它发生在实例被摧毁之前的瞬间,所以当事件在执行时,实例还

36、存在!例如你可以让一个魔鬼死亡/消失时发出大叫声(播放一个声音文件),或者使用它来更改游戏分数,或者创建别的物体。alarm events闹钟事件:每个图例有12个闹钟,你能使用一定的动作来设定这些闹钟 (看下一个章节)。然后这闹钟倒数计时直到它到达0,在那个瞬间这闹钟事件被产生。要指定动作到一给定的闹钟,首先你需要在选单中选择它。闹钟是非常地有用,你能使用他们去让特定的东西不断发生。譬如一个怪物在每20个步骤改变它运动的方向(在这些个例子中,事件里的某一个动作必须再一次地设定闹钟)。step events步骤事件:这步骤事件发生在这游戏的每一个步骤。这里,你可放那些需要被连续执行的动作,譬如

37、,假如一个对象要会跟随别的对象时,在这里你能改变运动的方向,朝向我们正在跟随的这对象,但是请小心使用这事件,在步骤事件的对象中,尤其有许多图例的对象中不要用过多复杂的动作,这可能让游戏变慢下来。更精确地说,有三种不同的步骤事件。通常你只需用这预设的。但是使用选单,你也能选择开始和结束步骤事件。这开始步骤事件是在每个步骤的最起初执行,在发生任何事件之前。正常的步骤事件是正当这图例被移到他们的新位置之前执行。这结束步骤事件是在步骤的结束时执行,正当画图之前。常使用在例如依目前方向而定来改变这子图组。collision events 碰撞事件:不论何时当两图例碰撞(亦即为,他们的子图组重迭)时,出现

38、碰撞事件。如此,精确地说是两碰撞事件发生:每个图例各一个。这图例能对碰撞事件作出反应。要达到这目的,先从选单中选择你想要定义碰撞事件的对象,其次你把动作放在这里。当这图例与一实心对象或一非实心对象碰撞时会有一个差别。首先,当在这碰撞事件中没有选择动作时,什么也不会发生:这目前的图例纯粹保持原来的运动,即便这其它对象是实心也是如此。当这碰撞事件包含动作选项时,则发生下面的情形:当其它对象是实心时,这图例先被放回它先前的地方(在这碰撞发生之前),接着执行这碰撞事件。最后,这图例被搬移到它的新位置。所以假如这事件,例如让运动的方向反向,则这图例会靠在墙上弹回,不会停止;但假如在那里还有一碰撞事件,这

39、图例会停留在它先前的地方,所以实际上它会停止移动。当碰撞的其它对象不是实心时,原先图例不会被放回,这图例仅在它目前的位置上执行这事件,并且,一次碰撞不会检查两次。假如你仔细地想,这是理所当然会发生的事。因为这对象不是实心,我们仅能挪开它。这事件告知我们正在发生什么事情。碰撞事件有许多用处,图例能使用它来做对墙壁的反弹,你能使用它来摧毁对象,例如当他们被一子弹击中等等。keyboard events按键事件:当这游戏者按一按键时,一个适用于全部对象图例的按键事件就发生了。每个按键,有不同的事件。在选单中你挑选需要被定义按键事件的按键,再来在那里拖曳附加的动作。明显地,只有少数对象需要以少数几个按

40、键来定义按键事件。当压住这按键不放时,你会在每一个步骤中得到一个事件。有两个特别的按键事件,一个称为,当不压按键时,这事件发生在每个步骤中;第二个称为 ,当任意按键被压下时发生,顺道提起,当这游戏者同时压下多个按键时,这所有符合的按键事件都会发生。注意在键盘右方数字小型键盘中,只有当先压下按键,再去选择数字按键时才会产生对应的事件。mouse events鼠标事件:当这鼠标光标停驻在代表子图组的图例内部时,产生了此图例的鼠标事件。依压下鼠标的按键情形而定,你可得到不按键(no button),按左键(left button),按右键(right button),或按鼠标中央键(middle b

41、utton)事件。当这游戏者一直按着鼠标按键不放时,这鼠标按键事件会在每一个步骤中产生。压下事件(press events)是当这按键被压下时发生,只产生一次。释放事件(release events)是当这压下的按键被放开时发生。注意这些事件只有在鼠标光标移到这图例上方时才发生。假如这游戏者在一个没有图例的位置上压下一鼠标按键,不会产生事件。为鼠标在任一处位置点选作出反应,有时仍旧很重要。这可以经由创造一个像场景尺寸那么大的子图组来达成。现在创造一个对象,使用的子图组能覆盖这整个场景。你能使这对象变成隐形的,而在每个场景中置放它,如此无论何时当这游戏者按下他的鼠标时,它将获得鼠标事件。其它的事

42、件有许多其它事件在一些特定游戏中可能是有用的。他们可以在这选单中被发现。下列的事件可以在其它事件中被发现: outside:外面(outside): 当图例的位置完全在这场景的外面时触发这事件,这是通常是一个摧毁它的好机会。 boundary:边界(boundary):当这图例与这场景的界限相交时触发这事件 game start: 游戏开始(game start): 当游戏开始时触发了这事件,适用于第一个场景中全部的图例。它在这场景开始事件(room start event)之前发生(看下面)甚至在这场景中图例的创造事件之前发生。这事件通常只被一个称为控制者的对象所定义,它经常用来开始某些背景

43、音乐和初使化某些变数,或下载某些资料。 game end:游戏结束(game end):当这游戏结束时这事件发生到全部图例。再一次,通常只有一个对象定义这事件。譬如说用来在一档案中储存特定数据。 room start:场景开始(room start): 当这场景开始时,这事件为了初始化场景中全部的图例而发生,它在这创造事件之前发生。 room end:场景结束(room end): 这事件为了结束的场景中所有存在的图例而发生。 no more lives: 没有存活者(no more lives):游戏制作者有一嵌入的存活数系统,有一个动作可设定和改变这存活者的数目,当这存活者的数目变为小于或

44、等于0,就发生了这事件,他通常是在结束,或重新开始游戏时被使用。 end of animation: 动画的结束(end of animation):如同上面所指出的,一动画由许多影像轮流显示而组成,在最后一个显示的影像之后,我们又从第一个影像开始,这事件正是在那瞬间发生。例如,这能被使用于改变这动画,或摧毁这图例。 end of path: 路径的结束(end of path):这事件发生在当这图例跟随一路径并到达这路径的终点时,看第18章以得到更多有关路径的信息。 user defined: 使用者定义:有八个事件。他们通常不会发生除非你自己从一段程序代码中呼叫他们。drawing eve

45、nt图画事件(drawing event):可看见的图例会在每个步骤将他们的子图组描画在屏幕上,当你在这图画事件中设定动作时,这子图组不会被描画,取而代之的是动作被执行,这能被使用于描画子图组之外的某物,或开始对子图组参数做某些改变。在图画事件中有特别设计一些图画动作,注意这图画事件只有在当这对象是可看见时才能执行,同时也注意,不管你这里描画什么,碰撞事件是以与这图例相关的子图组为基础。key press events按下键盘事件:这事件类似于这按键事件,但是它只发生一次,在当这按键被压下时,而且不是连续的。这可在当你想要让一个动作只发生一次时使用。key release events放开键盘

46、事件这事件类似于这按键事件但是它只发生一次,在当这按键被放开时,而且不是连续的。在某些情形下去了解游戏制作者处理事件的次序是重要的,次序如下所示:开始步骤事件,闹钟事件,按键,按键压下,和按键释放事件,鼠标事件,正常的步骤事件,(现在全部图例是在他们的新位置上准备好了的),碰撞事件,结束步骤事件,图画事件。当这相对应的情形发生时,创造,摧毁,和其它的事件会被执行。第12章 动作动作指的是发生在游戏制作者中的东西,他是放置于事件之中,不论何时当事件发生时就执行这些动作。游戏制作者中有大量不同可用的动作,知道他们做什么是很重要的,在这章节中我将说明全部的动作。你可在对象属性格式右边的索引单中找到所

47、有的动作,有六组的动作,经由点选正确的选单,你可得所想要的群组。当你把鼠标光标固定在一个动作按键上方,会显示一个小提示来提醒它的功能。让我简单地重复:只要从这索引页拖曳动作到动作表列就能把一个动作放在一个事件中,再次使用拖曳,你能改变这表列中的次序,拖曳时按住键可以复制动作(在不同对象属性窗体之间你能拖曳和复制动作)。使用鼠标右键以消除动作(或使用键)或执行复制和贴上动作。当你点选一个动作,通常一个窗口将立即弹跳出,以便你能为动作填入一定的参数。在许多动作会出现有二类型的参数:在窗口上面你能指定这动作适用于哪个图例,内定值是自己本身,意思是被选到的图例会执行这动作,通常这是你所要的;在一碰撞事

48、件中,你也能把这动作作用到涉及在这碰撞中的其它对象,这样表示你能摧毁其它的图例;最后,你能选择把动作用到特殊的对象里全部的图例中,这样表示你能改变全部的红色球成为蓝色球。这第二类型的参数是标示着” relative”的复选框,经由勾选这复选框,当你输入一个数值时是相对于现有的数值,譬如,你能在目前的分数增加一些东西,而非把目前分数直接改变成新的数值。在下面将描述其它的参数,待一会儿你将学到经由双击在这动作按键上来改变参数。11.1运动动作第一组的动作是由与对象运动有关的动作组成。有下列动作:start moving in a direction motion_set(direction,spe

49、ed);在一方向开始运动:使用此动作使一图例在特定的方向开始运动。使用箭号按键来指出方向,使用中央按键来停止运动。也许你需要规定运动的速度。速度是用每步骤几个像素来给定,默认值是8,速度最好不要使用负值,你能规定多种方向,这样你作成任意方向的选择,例如这样你能让一怪物开始往左或右方移动。set direction and speed of motionmotion_set(direction,speed);设定运动的方向和速度:第二种方法是使用蓝色箭头来定义一个运动,这样你能指出一个精确的方向,这是一个介于0和360度数之间的角度,0代表右边,方向是顺时针方向,譬如90度指定一朝上的方向。假如

50、你想要一任意的方向,你可键入任意方向random (360),你将看到在此功能下将任意给予一个比显示值还要小的随机号码。你也可能注意到”relative”前的复选框,假如你勾选这方块,新的运动会增加到旧的上面,譬如,假如这图例是朝上运动而你增加一点点向左的运动,最后这新运动将是朝左上方。set the horizontal speed hspeed=speed;设定水平的速度:一个图例的速度由一水平的部份和一垂直的部份组成,这样你能改变水平的速度,速度是正值代表往右运动,是负值代表往左运动,垂直的速度将保持一样。使用”relative”来增加水平的速度(或用一负数减少它)。set the ve

51、rtical speed vspeed=speed;设定垂直的速度:用同样方式处理垂直速度,这样你能改变这图例的垂直速度。move towards a point move_towards_point(x,y,speed);朝指定点移动:用此方法来指定一个运动,你指定一个位置和一个速度,这图例开始用指定速度向这位置移动(它不会停在指定位置!)。譬如,假如你想要一子弹到飞向宇宙飞船的位置,你能使用的位置如:spaceship.x,spaceship.y(在下方你将得知更多有关于变量的使用)。假如你勾选这”relative”复选框,即是在指定相对于目前图例位置的新位置(速度不能勾选”relativ

52、e”!)。set the gravity gravity_direction=direction;gravity=amount;设定地心引力:用这动作你能创造特殊的对象的地心引力效果。你指定一方向(角度在0到360度之间)和一个速度值,这定方向的速度值会随程序步骤累加在对象图例当前的速度中,通常你需要非常小的速度增加量(如0.01),而且你想要一向下方向(270度)。假如你勾选这”relative”复选框你将增加这地心引力的速度和方向。注意,与实际生活相反的是,不同对象可以有不同的地心引力方向。set the friction friction=amount;设定摩擦:摩擦使图例在运动之时速度

53、缓慢下来,你指定这摩擦的概要。在每个程序步骤中这数值会与速度相减直到速度变为0,通常你需要非常小的摩擦力增加量(如0.01)。jump to a given positionx=value;y=value; 跳到一特定位置:使用此动作将图例置放在一特殊的位置,你只要指定这x-和y-坐标,这图例是依特定位置的参考点来置放。假如你勾选这”relative”复选框,这位置是相对于图例的目前位置来置放。jump to the start position x=xstart; y=ystart; 跳到这开始位置:此动作把图例放回刚开始他被创造的位置。jump to a random position m

54、ove_random(32,32);跳到一任意的位置:这动作把图例搬移到场景中的任意一个位置,但这些位置的所在是没有其它实心的图例,才可被选定。你能指定使用格点。如果你指定正数,则被选择的坐标将是指定数值的整数倍,例如,这能被使用于在你的游戏中使图例保持对齐小单位(如果有的话)。你能独立指定水平定位与垂直定位。reverse horizontal direction hspeed=-hspeed;颠倒水平的方向:用这样使得图例的水平运动反向进行,例如使用于当对象撞到一堵直立墙壁。reverse vertical direction vspeed=-vspeed;颠倒垂直的方向:用这样使得图例的

55、垂直运动反向进行。例如使用于当对象撞到一堵水平墙壁。bounce against objectsmove_bounce_solid(advanced);/for solid objects, advanced=advance bounce(0 or 1).move_bounce_all(advanced);/for all objects, advanced=advance bounce(0 or 1).碰到物件反弹:当你在碰撞事件放入这动作和某些对象,这图例会以自然的状况从对象上反弹跳开。假如你设定” precise”参数为”false”,只有水平的和垂直的墙壁才会被正确处理。当你设定” p

56、recise”参数为”true”时,倾斜(甚至弯曲的)墙壁也可得到令人满意的处理结果(但是缓慢)。你也能指定是否从实心对象,或从全部对象弹跳开。请了解这弹跳的路径有时不是完全正确的,因为视许多属性而定。但是在大部分情况下这效果是够好的了。snap to grid move_snap(hsnap,vsnap);定位到格点:用这样使得你能把一图例的位置定整数到一格点上。你能指定水平和垂直两者的定格数值(就是这格点的小单位的尺寸),这对确定图例是停在一格点上非常有帮助。set a path for the instance path_start(path,speed,endaction,absolu

57、te);设定图例的路径:用这动作使得你能指定图例以一特别的路径移动,在路径的起始点指定路径、速度和位置 (0=开始,1=结束)。看第18章以了解路径的更多信息。11.2与对象有关的动作以下的动作群组与创造、变化、和摧毁对象的图例有关。create an instance of an objectinstance_create(x,y,object0); 创造一对象的图例:用这样使得你能创造一对象的图例。你指定创造哪个对象及这新图例的位置,假如你勾选”relative”复选框,则位置是相对于目前图例的位置。在游戏中创造图例是相当有用的:一艘宇宙飞船能创造子弹、一炸弹能创造一个爆炸、等等。在一些游戏中你还将有些控制对象,不时地创造怪物或其它的对象,在新的图例被创造时,也会执行创造事件。change the instance instance_change

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论