GameMaker教程

合集下载

GameMaker 教学

GameMaker 教学

Game Maker 教学创建迷宫游戏作者:Mark Overmars版权所有2007 YoYo Games Ltd迷宫游戏是非常流行的游戏类型,用GM可以非常简单的创建该类游戏。

该教程将一步步的介绍如何创建该类游戏。

首先,我们将创建一个最简单的可运行的游戏,然后,将使我们的游戏更具扩展性更具吸引力。

在教程的Example文件夹中提供了游戏中的源程序,制作游戏中用到资源也都在Resources文件夹中给予了提供。

游戏策划在游戏制作之前,我们应该想像一下,我们的游戏应该是什么样子的。

这是游戏设计中最重要,有时也是最困难的一步。

一个好的游戏应该是令人兴奋的、令人惊叹的以及令人上瘾的。

游戏应该为玩家设定清晰的目标,而用户界面也应该是很直观的。

我们将要制作一个迷宫游戏,每一个房间包含一个迷宫。

为了从迷宫中逃脱,玩家必须收集齐所有的钻石,然后到达出口。

为了完成这一目标,玩家需要解决一系列的智力问题,并且要避开怪物。

在这个游戏中,我们可以创建很多种类型的智力问题,例如:必须被放进石头的坑、能用炸弹破坏的墙壁等等。

另外,很重要的一点是:千万不要在第一个房间中就把游戏的所有要素全部展现出来。

一步步的显示新的东西和怪物,将会使游戏更加有趣。

所以,游戏的主要目标是玩家所控制的角色。

游戏中有墙(也可以是不同的类型的东西,这样可以使游戏看起来更吸引人)、需要收集的钻石、还有那些躺在地上不动,被玩家捡起或者被碰触的东西。

另外房间中还需要有一些特殊的东西,此外还要有那些自己走来走去的怪物。

下面就让我们一个一个来处理这些东西吧。

一个简单的开端首先,我们先不考虑游戏中的钻石。

我们将创建这样一个玩家到达出口的游戏。

在这个游戏中有三个实例:玩家、墙和出口。

所以,我们需要为它们准备三个精灵和三个对象。

你可以在教程的Example文件夹里找到第一个最简单的游戏:maze_1.gmk,打开游戏源程序,试着运行它。

游戏中的对象首先,让我们来创建对象。

GameMaker的多人游戏

GameMaker的多人游戏

GameMaker的多人游戏、服务器的创建作者:tifaicesGM提供了部分网络函数,使得GM能过制作出具有联网功能的游戏~,不过网络方面的东西,涉及面较广,有一个环节不正确,玩家之间都无法正确的进行数据交流,现在我们将介绍一些GameMaker网络方面的游戏制作的知识,最后会包括一些额外FAQ和39dll 等应用哦!第一章:游戏的创建与连接GM其实提供了4种连接方式,ipx tcp/ip以及modem以及序列(详情查看帮助的“多人游戏”),其中序列是最为古老,远在95年的时候,C&C(命令与征服)就采用了此连接方式;接下来就是使用调制解调器的连接,然而这2种方式放在我们现在,已经可以不使用了,而我们现在着重讲解的就是广为使用的TCP/IP创建游戏~而ipx是倾向于局域网连接,所以如果你会使用TCP/IP来进行游戏制作的话,ipx也不在话下了。

创建连接前,我们来认识两个函数:mplay_init_tcpip(addr)mplay_ipaddress()mplay_init_tcpip函数是在创建连接的时候,必须执行的初始化函数,其中参数:addr,则是我们需要初始化连接的地址,一般作为创建者,这里最好写入自己的ip地址,如你本机为123.54.1.27那么就写为mplay_init_tcpip("123.54.1.27"),如果是内网ip,同样也写内网的ip(内网ip也可以通过外网来连接,后期会说明这个原理),不知道自己的ip?不要紧使用mplay_ipaddress() 会将你的ip以字符串形式返回,这个时候我们就可以这样写啦:mplay_init_tcpip(mplay_ipaddress())。

如果是作为连接者的话,你现在需要做的事情就是:获取你想连接的玩家/服务器的ip 地址,然后同样使用以上函数就可以进行连接哦!比如你知道你朋友建立的游戏,他ip为123.54.1.27,那么就写为mplay_init_tcpip("123.54.1.27"),当然,他的连接必须在开启状态,不然你是连不进去的。

gamemaker函数中文帮助.doc

gamemaker函数中文帮助.doc

常数true等同于1.false等同于0.pi等同于3.1415...实数函数random(x)返回一个随机的实数,范围从0 到x 。

数值总小于x 。

choose(val1,val2,val3,...)随机返回其中一个参数。

最多可以有16个参数。

abs(x)返回x 的绝对值。

sign(x)返回x 的符号(-1,0,或1)。

round(x)返回与x 最接近的整数。

floor(x)返回比x 小的最大整数。

ceil(x)返回比x 大的最小整数。

frac(x)返回x 的小数点以后的部分。

sqrt(x)返回x 的开方。

x 不能是负数。

sqr(x)返回x 的平方。

power(x,n)返回x 的n 次方。

exp(x)返回x 的冥方指数e 。

ln(x)返回x 的自然对数。

log2(x)返回x 的2的对数。

log10(x)返回x 的10的对数。

logn(n,x)返回x 的n 的对数。

sin(x)返回x 的正弦(x 单位为弧度)。

cos(x)返回x 的余弦(x 单位为弧度)。

tan(x)返回x 的正切(x 单位为弧度)。

arcsin(x)返回x 的反正弦。

arccos(x)返回x 的反余弦。

arctan(x)返回x 的反正切。

arctan2(y,x)计算arctan( y / x ) ,然后返回结果在正确象限内的角度值。

degtorad(x)转换角度到弧度。

radtodeg(x)转换弧度到角度。

min(val1,val2,val3,...)返回参数中的最小值。

最高支持16个参数。

必须全部是实数或全部是字符串。

max(val1,val2,val3,...)返回参数中的最大值。

最高支持16个参数。

必须全部是实数或全部是字符串。

mean(val1,val2,val3,...)返回所有参数的平均值。

最高支持16个参数。

必须全部是实数数值。

median(val1,val2,val3,...)返回参数的中间数(如果参数数目为偶数,则两个中间数中最小的那个作为返回值)。

GameMaker:Studio中文教程#1:介绍与安装

GameMaker:Studio中文教程#1:介绍与安装

GameMaker:Studio中文教程#1:介绍与安装1编者按GameMaker: Studio 是一款非常值得推荐的 2D 引擎,非常适合用于快速原型开发或者中小型的独立游戏开发项目。

indienova 会员青铜的幻想为希望了解学习GameMaker: Studio 的中文读者专门撰写了本系列教程,本文为第一期,主要对这款引擎进行简单的介绍和安装说明。

欢迎读者朋友在文章后留言,以便作者能够针对性地安排接下来的教程内容。

2介绍在经历了数年的游戏开发后,我既参与了 AAA 级的商业大作,也完成过个人或小团队的休闲小品。

如今,当有人向我寻求建议问,“我想要开发2D 独立游戏,应该使用什么引擎?”。

我会向他推荐GameMaker: Studio(简称GMS)。

是的,不是 Unity,而是 GMS。

GameMaker 的初次发布是在1999 年,在很长一段时间内我都只是把它当成是一个玩具引擎,认为它存在的主要意义是给那些想尝试制作游戏的初学者一种“喔,我可以做游戏了!”这样的感觉,潜台词就是这引擎没法做出真正意义上完整的游戏出来。

让我转变这种观念的原因有两点:一是 GMS 经过了时间的考验,二是一大批优秀的由 GMS 做出的游戏。

从1999年 GameMaker 的初次发布至今,已经有 17 年了,期间有着持续的版本更新。

从最早的Windows 平台,到如今支持几乎所有的手机、主机平台。

一个游戏引擎能够生存并发展起来,本身就是对这个引擎最好的肯定,因为这意味着该引擎具有良好的生态环境。

引擎有开发人员的持续更新、支持和维护,对于游戏制作者来说有易用的文档、教程及可以进行交流的社区,同时使用该引擎能够制作出足够优秀的游戏作品来盈利。

只有拥有这样良性的游戏开发循环,才能维持引擎本身的发展。

而由GameMaker 制作出的优秀游戏作品,是引擎本身良性发展的结果和佐证。

相信 YoYo Games 公司(GameMaker 的开发商)也对此十分自豪与自信,在主页中设立了Show Case 专栏展现由其开发的优秀作品。

GameMakerGML

GameMakerGML

一、GML语言概述Game Maker内置一款编程语言。

让你在标准动作之外取得更多的自由度和操纵力。

那个语言咱们简称它为GML (Game Maker Language)。

你能够在很多地址用那个语言编写代码。

第一,当你概念脚本的时候。

脚本确实是一份GML程序。

第二,当你在一个事件中添加新动作时。

在编写代码动作时你也一样能够利用GML。

第三,若是你想在一个动作中利用指定的一个值,你一样能够利用GML来表达。

一段语句如下所说,并非是完整的程序,只是计算出结果的一段代码。

在本章中咱们将向你描述GML的大体概念。

当你希望学习利用GML时,那个地址有一些东西你需要留意。

第一,你的所有资源(精灵、对象、声音、等等)你必需利用一个以字母开头,全数由字母、数字或下划线组成的名称。

不然的话你将无法在程序中正确的挪用他们。

确保所有资源都有不同的名字。

同时也要注意不要将资源取名为self、global或其他保留字,因为这些字符在GML中有特殊含义(具体有哪些保留字将在后面详细论述).GML的相关信息能够在以下页面找到:一个程序变量赋值表达式扩展变量在其他实例中概念变量数组If 语句Repeat 语句While语句Do语句For语句Switch语句Break语句Continue语句Exit语句函数脚本With结构注释GML中的函数和变量一个程序一个程序包括一套完整的指令,称为语句。

一个程序必需以'{ '开头,以'} '结尾。

之间是语句文本。

每行语句必需以';'分号结尾。

因此语句的通常形式应该是如此的:{<statement>;<statement>;...}语句的样式能够有很多种,将在以下各章节论述。

变量和其他语言一样,GML中也有变量。

变量是存储信息的一段内存空间。

他们各有不同的名字以便于你去挪用他们。

GML中的一个变量既能够存储一个真实数字,也能够存储一个字符串。

gamemaker中国砖块全中文图并茂详细教程

gamemaker中国砖块全中文图并茂详细教程

中国砖块详细说明文档主体框架说明一.图形素材背景等主要为原创部分动画素材来自互联网按场景分为主菜单和游戏使用两个主要目录游戏目录包含需要的各个目录分类如下图(另包含2个原创菜单背景和游戏背景)二.声音素材来自软件自带素材及互联网图三.物体结构按需要和上面的几个目录安排基本一致四.场景安排除主菜单一个场景其余共6个游戏关卡五制作流程按本游戏制作顺序排列确定主题制作及搜集素材整理入gamemaker(制作中根据需要再另选择制作及删除素材)开始制作物体选择及编辑动作利用物体制作场景最后统一物体并制作主菜单游戏预览图(部分)六物体详细制作说明按目录顺序物体之间联系会重点说明菜单目录物体Dec_o1 这个是一个单纯的动画物体建立后为其指定一个动画素材然后在建立事件中放置一个动作调整其动画帧(-1为循环播放)和播放速度speed,0.3为接近正常速度的一个值New_game_o 和exit_o 新游戏和退出游戏按钮物体首先给两个物体指定文字图形素材然后在事件中加入动作因为文字按钮素材有2帧以便当鼠标移动到按钮时和离开时产生不同的效果所以我们需要在两个物体的Create创建事件中和Dec_o1一样加入一个动作并设置速度为0 让物体动画不是自动播放而是鼠标移动才播放切换帧效果然后我们在2物体中分别添加鼠标移入和移出的事件同样利用change sp来设置不同的帧在mouse_leave中设置这样就完成了鼠标经过按钮的变换效果在new_game_o的单击事件中设置跳入下一个场景在exit_o退出按钮单击事件中设置即先问问题“are you sure(确定退出吗)”,如果回答是则退出游戏(end the game)接下来介绍游戏目录中的物体按照简单到复杂来介绍我们知道球是在一个房间里碰撞的球碰到墙壁反弹效果在实际制作的时候我们需要制作虚拟墙壁物体然后把它们的visible(可见)属性设置为隐藏即游戏时看不到但它们是存在的再让球和这些物体在碰撞事件中发生动作而在墙壁物体目录中我们就制作了3个墙壁它们的属性中都一样Visible没有钩选(隐藏的)solid钩选(为实体不可穿透)Wall_btm物体是底部的墙壁当球撞击到此物体则失败1次丧失一次机会Wall_hide_o1和Wall_hide_o2为横竖的仅产生碰撞的物体这3个物体没有任何事件动作它们的碰撞会在球中设置再看砖块目录其中有5个颜色不一样的砖块物体就是球撞击的砖块组制作完成后可以用这些砖块来自己组合成新关卡这几个物体也没有任何事件动作它们的碰撞在球中设置注意其中有一个空的物体block_par这个是用来作父物体的且上面五个砖块都属于这个物体的子物体它们的属性设置都为就是说五个物体同属于block_par 这个大类物体接下来看道具目录这5个物体就是球碰到砖块后随机产生的一些道具物体接到后可以让球加速变大等道具这些道具物体在球碰撞到后建立建立后就开始朝下运动所以在几个物体Create事件中设置一个向下速度我们设置一个1.5-3.5之间的随机速度最小速度为1.5,在细讲道具物体后面事件之前先介绍一下几个相关物体Ctr_and_Draw物体为控制开始新一局和绘制分数机会信息的物体Bat_o为用来鼠标移动的滑板物体用来挡球ball_o就是运动的球物体继续道具物体我们知道道具物体在没有接住的时候需要清除掉所以在几个物体的与wall_btm事件中,都需要同样设置即建立一个特效效果然后删除道具本身再看道具物体中的事件,首先看这几个物体共同的几项这几项基本是相同的都是播放一个声音建立一个特效然后再删除自己然后再看每个道具物体在事件中各自的不同动作在item_o1中为,即说明这个道具用来调节球大小可以看到作用给物体ball_o,在x,y方向上的缩放度均为原比例+0.3 在item_o2中特有的为可以看到设置为即此道具为改变求球的素材为ball_sp1在item_o3中为即把球的速度在其基础上+4。

Gamemaker打砖块教程全解

Gamemaker打砖块教程全解

Gamemaker打砖块教程全解教程页 1 of 13引言欢迎来到Gamemaker~本教程将告诉你如何使用游戏制作语言(GML)创建你的第一个游戏,将需要大约30分钟完成。

我们希望它会教你用Gamemaker进行工作的重要基础,以及给你的游戏实验的基础和不断提高的同时学习所有关于这个难以置信的编程工具。

既然这是一个教程,我们准备重制一个每个人都知道的经典街机游戏打砖块~学习完本教程结束时,您将创建一个玩家控制的球拍,一个弹跳球,砖,墙,和一些其他的东西,所有这些都将学习Gamamaker如何工作,如何使用GameMaker Language(GML)编码和(我们希望~)在这个过程中体会到乐趣~你将要开发的游戏会使用一些特殊的资源,我们已经为这个教程特别创建了资源。

你只需在您的计算机上找到他们,请去Gamemaker屏幕的顶部菜单,并选择Help下拉菜单。

你会看到一个选项标记Open Project在资源管理器。

如果你选择了该项,那么标准文件浏览器将打开显示你的内容Gamemaker工程目录,你可以浏览“Assets”子目录,所有的资源都存储在“Graphics”(图片)和“Sounds”(声音)文件夹下。

同时还建议你打开帮助手册(按F1来对开),这样你就可以阅读教程中使用的函数的一些具体细节。

单击 Next 按钮进入教程的下一页。

教程页 2 of 13添加一些精灵像前面介绍的,我们想复制一个打砖块游戏,所以让我们来创建一些游戏中要用到的基础的对象。

首先我们需要为游戏中的砖块添加精灵,所以右击资源树精灵文件夹,选择第一个选项“Create Sprite”(创建精灵)现在你可以命名你的精灵,使它可以明确说明是一个砖块的精灵,我建议使用“spr_brick”(前置是资源类型,帮助你在以后的大型游戏中非常容易使用),现在点击按钮“Load sprite”,然后浏览到这个教程的资源文件夹(如果你不确认在哪里可以找到,你可以点帮助菜单,并选择“用资源管理器打开工程”)既然你将浏览助手,然后你可以选择砖块精灵资源了。

RPGMakerXP教学教程第一章

RPGMakerXP教学教程第一章

RPGMakerXP教程第一章_______________________________________________________1-1 新建工程咳,那么安装RMXP的部分我就跳过了,大家应该都知道怎么安装吧- -|||打开RMXP之后,可以在左上角看到一个白纸图标,它代表新建一个RMXP工程,也就是你制作的的游戏。

当然,你也可以通过“文件”菜单里面的“新建工程”来完成这个功能。

选择了新建工程之后,就会弹出窗口。

其中,“文件夹名”代表你放游戏的那个文件的名称,可以随意自己取一个,方便自己找就行了,不过建议是和你游戏的名字一样比较好。

然后,“标题”代表你这个游戏的名字,比如《勇者大冒险》之类的……= =|||当你命名了文件夹名的时候,文件路径就会被自动生成在“位置”一栏。

你也可以自己定义一个比较容易找的位置(使用右边那个“...”的按钮来设定路径)。

新建工程之后,就会出现这样的界面。

当你在游戏工程里做了设置之后,可以单击左数第三个图标——“保存”你的设定。

当然,在“文件”菜单下选择保存也可以。

按下右上角的红叉会关闭工程,如果你做出了更改而忘记保存,它同样会弹出对话框询问你是否保存更改。

当你新建了你的工程以后,就可以在设定好的路径下看到你的游戏文件夹了。

其中,画红圈的那个Game.exe文件是你的游戏执行程序,只要打开它就可以直接进行游戏。

而蓝圈的那个是你的工程文件,当你需要编辑这个游戏工程的时候,就打开这个。

不过,你不需要每次都通过点击Game.exe文件测试你做好的游戏,因为RMXP自带游戏测试功能,你只要在打开工程的时候按下F12就能测试了。

当然,在你工程的图标面板上倒数第一个绿色三角形的图标也是测试游戏。

(注意:在你测试游戏的时候,无法编辑工程。

但是如果是直接点击Game.exe进行测试就可以。

)而测试游戏的时候,你会发现角色在一片小小的空空的草地上晃来晃去,什么都没有发生-。

-虽然按下ESC可以调出菜单,但是也仅此而已……不用着急,因为这只是个开始而已。

gamemaker完全中文帮忙文档

gamemaker完全中文帮忙文档

GM完全中文开发教程第1章想要设计运算机游戏运算机游戏相当好玩,但自己设计运算机游戏给他人玩是更有乐趣的。

不幸的是,制造运算机游戏并非容易。

市售的运算机游戏需要10到50个人花上1到3年研发。

预算动辄上1,000,000元,这些研发人员都是各领域的专家,包括:程序设计师、艺术设计师、音效专家等等。

这代表要设计自己的运算机游戏是不可能的吗?幸亏不是,固然不要期望在几周之内设计出类似世纪帝国的大型游戏,对一样人而言,这不可能,也不需要。

另外有些比较简单的游戏,如俄罗斯方块,小精灵,小蜜蜂等等,是专门好玩也比较好设计的游戏。

不幸的是,设计这些游戏仍然需要壮大的程序设计能力以操纵图片、声音、利用者接口等等。

可是游戏制作软件上场了。

这软件是为降低游戏设计的难度而写,不需要写程序,用简单直觉的拖放鼠标接口当即设计自己的游戏。

你能够输入或设计影像、子图形(会动的影像)声音并利用他们。

你能够很容易地概念游戏中的对象和他们的行为表现,你能够设计有卷动背景的富丽场景。

万一你想要对程序全面控管,游戏制作者中内建了程序语言,让你能够对游戏当中的所有组件做操纵。

游戏制作者着眼于2-D游戏的设计,没有3-D的成效,可是不要失望,许多经典游戏,如世纪帝国等都是利用2-D动画特效,使他们看起来像3-D,设计2-D游戏比3-D要来的简单、快速。

或许游戏制作者最棒的部份是免费,你能够没有限制的制造游戏,没有纠缠不休的付费屏幕画面,喜爱的话乃至你能够卖游戏,详细情形请看许可协议文件。

本文会告知你关于游戏制作者和如何用他来设计游戏。

请了解即便利用类似游戏制作者的程序设计程序,设计运算机游戏程序并非全然没有价值、不重要的,一样的,有太多的方面需要考量:玩游戏、图形、声音、利用者接口等等。

用比较简单的范例开始,你会感受到设计游戏时那一种欢乐。

第2章安装或许你已经安装了,但如果是尚未,只要执行,照着屏幕上的指示,你能够把程序放在任何你喜爱的地址(固然最好利用预设的建议)。

利用Game Maker制作教学游戏课件

利用Game Maker制作教学游戏课件

利用GameMaker制作教学游戏课件作者:尹永田苏清香来源:《中小学信息技术教育》2009年第05期国内外研究表明,教学游戏在学生的学习过程中扮演着非常重要的角色。

若将一定的学习知识或考核内容采用适当的方式置于教学游戏中,不仅能激发学生的学习热情,还能使他们在游戏情境中获取知识,提高解决问题的技能。

Game Maker是美国Mark Overmars公司推出的一款可视化游戏制作软件。

它功能强大,且界面简洁,容易上手。

因此,备受学科教师的青睐。

一、Game Maker简介目前,Game Maker最新版本为Game Maker 7.0(下载地址:www.gamemaker.nl/download.html)。

它能够将复杂的游戏功能置于简单的操作中,学科教师不用学习任何编程语言即可轻松制作教学游戏,并能方便地将作品导入其他多媒体课件中。

该软件具有如下特点:1.直观易用的可视化开发界面。

教师通过设计适当的教学游戏情境,利用简单的鼠标操作,就能轻松制作出多媒体教学游戏。

2.支持多媒体素材的合成与处理。

Game Maker支持文字、图形、动画及声音等多种格式,并能在开发过程中对素材进行简单处理,以符合游戏设计的要求。

3.强大的交互控制功能。

Game Maker不仅支持鼠标左、中、右键的交互行为,还可根据游戏的操作特点,用自定义键盘的方式进行交互。

4.丰富的可扩展功能。

Game Maker是一个模块化游戏集成操作平台,有许多外挂程序用以扩充游戏功能,能够体现课件制作中的积件思想。

此外,利用Game Maker制作的游戏,不仅可以在单机上运行,还可以在校园网或Internet 上运行,供多用户共同参与。

二、Game Maker游戏制作教学游戏设计是游戏制作的前提。

它能规划游戏的内容和总体结构,使其体现一定的教学思想,并提高游戏的开发效率。

因此,学科教师在游戏制作前需要做好游戏脚本的设计。

脚本设计完成后,可进行游戏的制作。

GameMaker标准中文教程

GameMaker标准中文教程

入门篇GameMaker是一个很容易就可以开发你自己的电脑游戏的软件。

这一章介绍你想制作的游戏所需要的知识。

后面的章节会进一步讨论更多的功能,怎么发布你的游戏和介绍GameMaker的内建语言GML。

关于GameMaker的初级使用在下面的页面有介绍。

GameMaker制作原理在研究GameMaker之前,最好先摸索一下GameMaker的制作原理吧。

用GameMaker 做游戏都放在一个或多个房间里。

(房间是一个平台,不是3D的,但可以包含仿3D的图片。

)在这些房间里,你可以放置物体(可以在GameMaker里定义)。

经典的物体有墙、运动的小球、主角、怪物等。

有些物体(像墙)是静止的什么都不做。

另一些物体(例如主角)会响应玩家的输入(键盘、鼠标、手柄)而运动。

或者物体跟物体间也会产生某些反应。

例如,当主角遇到怪物的时候,主角会死亡。

在GameMaker中,物体是最重要的。

首先,大多数物体都需要一些图象来让它们显示于屏幕上。

这种图象叫做精灵图象。

一个精灵图象不单可以是一张图片,可以是一套动作的图片集,用于表达物体的动作效果。

这样,就可以达到像走动,转动等效果。

在游戏中,精灵图象在某些特殊的物体里是可以改变的。

(这样当物体向左或向右走时可以显示不同的图象。

)你可以在GameMaker里制作自己的精灵图象,或者导入一些图片素材。

物体会发生某些事。

这些事叫做事件。

当事件发生时,物体会执行相对应的动作。

物体可以发生很多事件并可以响应很多不同的动作。

例如,当物体创建时会发生一个创建事件。

(说精确一点是,物体中的某个具体对象被创建;物体相当于一个类,而对象就是类的一个抽象。

)例如,当一个球被创建时你可以给它一些运动动作,这样球就可以运动了。

当两个球相遇时,会发生碰撞事件。

在碰撞事件发生时,你可以给球一个动作,让它停止或者反向运动。

或者也可以产生音效。

GameMaker可以让你定义一些声音。

当玩家敲击键盘时,会产生一个键盘事件,物体会执行相应的动作,例如移动。

【AGM教程】

【AGM教程】

【AGM教程】ActionGameMaker最速使用手册2009-08-12 17:05零、开始前要做的东西:首先打开AGM,打开环境设置,设置你的信息。

另外需认识几个术语——模块、面板、部件(父、子)、动作、开关、变量、层。

一、新建工程,并选择你要建立的工程类型,这次以建议RPG为例。

(注:无论你建立的工程是什么类型,使用步骤都是一样的。

)二、首先进入素材模块,把你准备好的素材,按新建一一导入进来。

(注:AGM中每个模块都有他的作用,新手要好好记住这点。

)图像中导入的是你人物动作、场景图块、背景图片、物品图片等等的东西。

大小规格没有限制,只要是能平均分割就好。

调整初始值就可以分割素材图片了,注:背景图片不需要分。

这样做是为了方便在制作动作的时候使用,如果你觉得不必要,那大可在制作时再分。

三、进入具体制作——地图(当前建立的是RPG模块,所以你看到的是这个)1、首先是图块面板,点左边的新建,建立一个,然后在图像中指向你刚才导入的背景素材文件。

并把通行等参数设置好。

2、点旁边的布局面板,新建一个场景。

再到场景面板》》场景相关设置中,选择你刚建立的图块。

3、这样你就可以在画面中绘制你的地图了。

嗯,是不是觉得图块都太大了,但是找不到选项?没关系,我们先跳到“插件相关设置”那里。

把“图块基本大小”的数值点上你需要的。

(注:AGM图层中4是最底层,1是最高层,互相作用的图块和人物要放到同一层,不然你就会有明明勾了不通行,人物还是可以通过的BUG)四、进入具体制作——动画1、新建》》然后在每动作(翻译问题)中,选择你导入的素材。

如果你已经在"素材模块"分割好,那么它就会自动应用你的分割。

2、到逐帧中调整你的动作。

(动作)按“+”增加一个动作,这个动作可以在部件中选择。

┕(动作内的方向)默认会给出方向,如果没有可以自己增加。

┕(浏览显示)这才是真正的动画编辑,按+ 增加一帧,然后在图像里选择需要的动作吧。

GameMaker教程

GameMaker教程

GameMaker教程姓名基础篇数量的增加:两种格式:a = a + 1a + = 1 两种相同效果。

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

x 当前物体的x坐标y 当前物体的y坐标x , y 表示某个物体的总坐标格式例:x=100y=200 表示本物体的x坐标=100,y坐标=200。

物体坐标100,200。

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

练一练:填空。

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

<left>: 。

<right>: 。

<up>: 。

Sprite是游戏的最基础的东西,每一个物体都能是由精灵图片组成。

在左边的一栏的第一个。

(图1)右击后点击第一个创建。

(图2)□Sprites图1□Sounds□Backgrounds□Paths□Scripts□Fonts□Time Lines□Objects□Rooms 图2创建后,可以看到几个按钮(图3)。

载入精灵:载入一般已经产生连环效果的图片或静止的图片。

保存精灵:保存当前精灵图片,以gmspr格式呈现。

编辑精灵:可以对精灵图片进行美化或修改,也可以添加一些以连环图片在一张图片的精灵。

编辑笼罩层:可以修改碰撞盒。

中心:把中心设定在图片的中心位置。

完成:完成该精灵的修改或创建。

练一练:操作。

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

Object(对象):Object是游戏中最核心的东西(在Object里还有更核心的)。

在左边的一栏的第8个(高级模式)。

创建的方法和图片一样。

右边一栏有7个选择,分别为:move、main1、main2、control、score、extra、draw。

使用gamemaker实现消除星星游戏中的平滑下落

使用gamemaker实现消除星星游戏中的平滑下落

游戏《消除星星》中的方块移动方法初探消除星星或者叫消灭星星,消除宝石等是一款非常游戏的小游戏,游戏开局会生成10*10的区域,区域中有不同颜色的星星,当玩家点击连在一起星星时,相当相连区域的星星就会被消除,而被消除的星星上方的所有星星都会向下掉落,当不存在连在一起的星星时本局就会结束。

这里不谈判断能否消除的算法,这里只谈方块消除之后,其他方块如何移动的方法。

方案一:以前,我采用过最简单的方法,就是在每个方块的消除(instance destroy)事件中,执行一个动作:判断其上方是否存在方块,如果存在,则所有其上方的方块均向下位移一个方块高度单位:其伪代码如下:for(i=y-64;i>=32;i-=64) //从当前位置的上边开始向上遍历{temp=instance_position(x,i,obj_ceil); //获取指定位置的方块with(temp) //使用with结构{y+=64; //纵坐标增加一个方块高度单位}}这样也能实现下落效果,但方块下落过程都是瞬移,比较突兀。

那么如果对上面的代码做一下修改能不能实现呢?方案二:我们尝试做这样的修改。

先为方块对象添加一个alarm事件,其中只有一句代码就是speed=0,然后把上面的with结构中的代码改为如下所示:with(temp) //使用with结构{vspeed=8; //方块有一个向下的速度Alarm[0]=8; //8帧之后启动alarm[0],速度为0停止移动}这样改貌似也实现了同样的效果,但运行之后就会发现问题,当被消除的方块只有一层时是没有问题,如下图所示:但当消除的高度大于等于2时就会出现问题:所有方块只会向下移动一层。

之所以这样,就是因为代码中的alarm[0]=8,因为当第一个被消除的方块消除的时候,就会启动上方方块的alarm 事件,在8帧之后停止所有移动。

所以说这个方案行不通。

方案三:这里结合第一种第第二种两种方案,第一种方案让所有方块瞬移,第二种方案让所有方块往下移动一个方块单位,那么结合这两种方案,往所有上方方块都往下瞬移到合适位置,并空出一个方块单位,并在瞬移之后,再启动向下移动一个方块单位,这样就可以部分模拟出方块下落的效果。

GameMaker教程

GameMaker教程

GameMaker教程姓名基础篇数量的增加:两种格式:a = a + 1a + = 1 两种相同效果。

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

x 当前物体的x坐标y 当前物体的y坐标x , y 表示某个物体的总坐标格式例:x=100y=200 表示本物体的x坐标=100,y坐标=200。

物体坐标100,200。

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

练一练:填空。

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

<left>: 。

<right>: 。

<up>: 。

Sprite是游戏的最基础的东西,每一个物体都能是由精灵图片组成。

在左边的一栏的第一个。

(图1)右击后点击第一个创建。

(图2)□Sprites图1□Sounds□Backgrounds□Paths□Scripts□Fonts□Time Lines□Objects□Rooms 图2创建后,可以看到几个按钮(图3)。

载入精灵:载入一般已经产生连环效果的图片或静止的图片。

保存精灵:保存当前精灵图片,以gmspr格式呈现。

编辑精灵:可以对精灵图片进行美化或修改,也可以添加一些以连环图片在一张图片的精灵。

编辑笼罩层:可以修改碰撞盒。

中心:把中心设定在图片的中心位置。

完成:完成该精灵的修改或创建。

练一练:操作。

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

Object(对象):Object是游戏中最核心的东西(在Object里还有更核心的)。

在左边的一栏的第8个(高级模式)。

创建的方法和图片一样。

右边一栏有7个选择,分别为:move、main1、main2、control、score、extra、draw。

GameMaker-GM版山寨弹性贪吃蛇教程

GameMaker-GM版山寨弹性贪吃蛇教程

这是我调整过的:draw_sprite(spr_life_bar_foreground,0,x,120);draw_sprite_part(spr_life_bar,0,0,96*(1-life/maxlife),114,96*(life/maxlife),0,120+96 *(1-life/maxlife));我通常用:draw_sprite_ext();那个对对碰中的分数进度条和时间进度条都是这样画出来的。

呵。

GM版山寨弹性贪吃蛇教程首先,创建两个精灵,并将其大小设定为:16*16。

这里,我就用了两个方块,一个红色的,一个绿色的。

为了使它们看起来不一样而已。

其实,这里用一个精灵也是完全可以的。

然后,开始创建对象。

首先一个是玩家控制的对象,或者叫做:蛇头。

能移动的一个东西。

起个名字就叫:obj_play吧。

该对象有四个事件。

分别是:create、alarm0、step、outside room。

咱们依次分别慢慢地道来。

在create事件中加入以下代码:old_x=0; //老的X坐标old_y=0; //老的Y坐标c_num=0; //吃到食物的数量m_s=0; //移动状态标记在这里只需要定义这些变量就OK了。

然后是step(步伐)事件,这里的主要作用是判断键盘输入,并给移动状态标记赋值,并启动时钟事件。

代码如下所示:if(keyboard_key=vk_left) //如果有左键按下{if(m_s!=3) //如果移动状态不为右{m_s=1; //移动状态为左alarm[0]=1; //启动时钟}}if(keyboard_key=vk_up){if(m_s!=4){m_s=2;alarm[0]=1;}}if(keyboard_key=vk_right){if(m_s!=1){m_s=3;alarm[0]=1;}}if(keyboard_key=vk_down){if(m_s!=2){m_s=4;alarm[0]=1;}}接下来是alarm0时钟事件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GameMaker教程姓名基础篇数量的增加:两种格式:a = a + 1a + = 1 两种相同效果。

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

x 当前物体的x坐标y 当前物体的y坐标x , y 表示某个物体的总坐标格式例:x=100y=200 表示本物体的x坐标=100,y坐标=200。

物体坐标100,200。

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

练一练:填空。

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

<left>: 。

<right>: 。

<up>: 。

<down>: 。

Sprite(精灵图片):Sprite是游戏的最基础的东西,每一个物体都能是由精灵图片组成。

在左边的一栏的第一个。

(图1)右击后点击第一个创建。

(图2)□Sprites□Sounds□Backgrounds□Paths□Scripts□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。

再创建两个球的对象。

点击精灵处的(原来显示<no sprite>的位置)右边一个”的东西。

选择第一个图片(spr_q1),然后,命名为q1spr_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 <varname1> , <varname2> , <varname3> , ……;(注意“;”)有时,你需要让某个变量只在当前一段代码中使用,而又不想浪费内存,又怕与其他变量混淆。

这时你需要用到此代码。

例:var xx , yy;xx = x + 10yy = y + 10instance_create ( xx , yy , ball )8、other 涉及到碰撞对象的实例all 所有实例9、a [ 0 ] 数组10、if ( <表达式>) <语句> 或if ( <表达式>) {<语句>;<语句>;}11、repeat ( <次数> ) <语句>12、instance_number ( obj )表达该object的数量。

13、instance_destroy ( )消失自己。

14、instance_deactivate_object ( obj )消失某个object。

15、instance_create( x , y , obj )在x , y 处创建该obj。

16、instance_change ( obj , performevents )将自己更改成一个obj。

17、instance_exists ( obj )检测该obj是否存在。

18、instance_nearest ( x , y , obj )表示离x , y最近的obj实例。

19、draw_set_color ( col )更改当前绘画的颜色。

20、draw_set_font ( font )更改当前绘制的字体。

21、draw_sprite ( sprite , subimg , x , y )绘制图片在x , y 的位置。

22、draw_text ( x , y , string )画出文字string 在x , y。

23、draw_healthbar ( x1 , y1 , x2 , y2 , amount , backcol , mincol , maxcol , direction , showback , shouborder )画出一个血条左上点为x1 , y1 ,右下点为x2 , y2 。

24、room_goto_next ( )下一个房间。

25、game_end ( )游戏结束。

26、direction表示方向。

27、speed表示速度。

28、image_speed表示该实例图片的播放速度。

29、sprite_index表示当前实例的图片。

30、image_angle表示实例图片的方向(例:如果+=2,则逆时针旋转2。

)。

31、room_height房间高度room_width 房间宽度笔记:代码综合运用练习1例1:发射一枚bullet朝方向_dir 发出,速度6。

{var a;a = instance_create ( x , y , bullet )a . speed = 6a . direction = _dira . image_angle = _dir}或{var a;a = instance_create ( x , y , bullet )a . speed = 6a . direction = _dir}子弹的stepimage_angle = direction练1:发射一枚bullet 朝鼠标的方向发出,速度20。

例2:让a数值每1秒增加1。

<create>a = 0alarm [ 0 ] = 30<alarm 0>a += 1alarm [ 0 ] = 30练2:让a数值每秒增加b数值。

b数值每次都随机,在0-10之间(整数)。

<create><alarm 0>例3:检测ball是否存在,如果存在,再次创建一个ball在100 ,200处。

if instance_exists ( ball ){instance_create ( 100 ,200 ,ball )}练3:让a不停的随机(0 – 20整数)。

如果a = 19 ,则创建一个ball在100,200。

(a已经赋值。

)<step>例4:让z这个数值赋值为随机选择a、b、c、d、e、f。

(abcdef均已赋值。

)并画出该数值在100,200处。

<create>z = choose ( a , b , c , d , e , f )<draw>draw_text ( 100 , 200 , string ( z ) )练4:让z这个数值赋值为随机选择a、b、c、d、e、f。

让y这个数值赋值为随机选择g、h、i、j、k。

(abcdefghijk均已赋值。

)让z和y做差(z大),并画出结果在屏幕正中处。

<create><draw>单元测试1(满分60分,包含附加题。

15分及格。

参考考试时间:10分钟)注:请标注该代码在哪一个事件里发生。

否则扣分。

1、创造一个升级系统。

使经验值达到100升一级,从2级开始每升一级需要10经验。

(如:1级升2级100经验,2级升3级110经验……)变量均未赋值。

(20分)2、设置一个供给系统。

当按下<space>时,向方向_dir发射bullet。

并留有1 / 3秒的停待时间。

_dir已赋值。

相关文档
最新文档