1.对象模板
游戏场景中出现的切都是对象,从简单的个苹果到复杂的宇宙船都
是个对象,对象仅能表现具体的事物,还能表示抽象的事物,如得分管
。
组成对象的三要素分别是状态、属性、为,除此之外对象还包含
些物参数。
点击对象板最右侧的“+”按钮可以创建个空的对象,还可以点击已
经存在的对象按钮右上的“o”按钮来衍个新的对象,衍出来的对象具有
其原型对象相同的三要素,修改原型对象也会影响到其衍出来的对象。
1.1 状态
每个对象都有独特的状态,如,个红发可以有、
跳跃、攻击、死亡等状态,架宇宙船则可以有、射击、坠毁等
状态,个对象在个时刻只能处于种状态。
对象每个状态都有个ID(如的状态ID是659),衍的
对象包含其原型的所有状态(如由对象衍的英雄对象,它就
包含对象的、跳跃、攻击状态),衍出来的对象能删除
(及重命名)其包含的原型状态,但可以对其包含的原型状态的动画进
重新设置(如对象的三种状态均未设置动画,但在其衍的英雄
对象中进设置)。
对象每个状态都可以设置8个向的动画,场景中的对象实会根
据其“状态ID”属性的值和“向”属性的值显示出对应的动画(如照下图
设置英雄对象模板的状态后,当场景中英雄对象实”状态ID”属性
的值为659,”向”属性的值为0时,显示出来的就是向右的红
发)。
需要注意的是,如果场景中对象实其”状态ID”属性的值是个
存在的状态,或者”状态ID”属性和”向”属性的值对应的动画并未设
置,那这个对象实就会看(如当英雄对象实的”状态ID”属性的
值为700(存在该状态),或者”状态ID”属性的值为659且”向”属性的
值为2时(状态的上向未设置动画)),请注意避免这种情况。
1.2 属性
属性类型分为数值型和字符型,每个对象都有11种数值型的内置
属性(X坐标、Y坐标、度、向等等),除此之外,还可以根据需要为
对象模板添加定义属性(如为对象模板添加的”移动速度”属
性、”体”属性)。
衍的对象包含其原型的所有定义属性(如英雄对象就包含
其原型对象的”移动速度“属性及”体“属性),衍出来的对象
能删除(及重命名)其包含的原型属性,但可以对其包含的原型属性的值
进重新设置(如对象的“体”属性为0,英雄对象的“体”属性
可以重新设置为10)。
只有11种数值型的内置属性能够对对象产直接的影响(如对于
场景中的对象实,”X坐标”、”Y坐标”属性会影响其位置,”状态”及”
向”属性会影响其显示出来的动画),户添加的定义属性的作是配
合对象为来间接改变这11种内置属性的值(如可以在对象的”遭
受攻击”为中减低“体”属性,当“体”属性变为0的时候,改变“状态”
属性为死亡状态的ID值,此时该对象显示出来的动画就会改变成死
亡动画)。
!【X坐标】
于设置对象在场景中的X坐标(该属性在对象模板中可,只能在
场景中的对象实中设置)。
!【Y坐标】
于设置对象在场景中的X坐标(该属性在对象模板中可,只能在
场景中的对象实中设置)。
!【度】
于设置对象的旋转度,通常保持默认值0。
!【向】
有效值为0到7,对应的向依次为0右,1右上,2上,3左上,4左,
5左下,6下,7右下,该属性配合”状态ID”属性可以让对象显示同的
动画。
!【速度】
配合”速度度”属性来设置对象的初始速度。
!【速度度】
配合”速度”属性来设置对象的初始速度。
!【状态ID】
该项的值必须是在对象状态已经存在的状态ID,该属性配合”
向”属性可以让对象显示同的动画。
!【动画进度】
该项来设置当前状态所设置的动画的起始帧进度,通常保持默认值
0(即从第0帧开始显示),对于部分动画,可以从中间的随机帧开始显示
(如场景中有3只,其设置都是相同的扇动翅膀动画,如果“动画
进度”属性都是0,那3只翅膀扇动的节奏就会模样显得很奇
怪)。
!【平缩放】
该项值可以来对对象的平进缩放,能设置为0。
!【垂直缩放】
该项值可以来对对象的垂直进缩放,能设置为0。
!【纵深】
当场景中的对象重叠在起时,会根据纵深值由到的顺序进排
(即该值最到在最上层,最的在最下层)。
1.2.1 表达式
对属性的值进设置时,会到表达式,表达式可以包含1个
或多个项,项的类型有很多种(常、随机数、绝对值等
等),项之间由运算符进连接(+、-、*、/等等),运算符遵循
先乘除后加减的法则。
1.3 为
对象的各种功能可以通过为来实现的(上右图即是英雄对象“控制
左右移动”为的实际内容),对象为分为主动为(如英雄对象“控
制左右移动”为)和被动为(如英雄对象“受伤”为),活跃场景中对
象实的主动为会被系统动执,被动为则于被其它为间接
执。
衍的对象包含其原型的所有为(如英雄对象就包含其原
型对象的”遭受攻击“为),衍出来的对象能删除(及重命名)其
包含的原型为,但可以对其包含的原型为的内容(动作、分、循
环等)重新设置。
1.3.1 主动为
为对象创建的为默认即位主动为(如英雄的“控制左右移
动”为的),活跃场景中的对象实的主动为每帧都会由系
统执。
点击主动为板上的“+”按钮,可以打开对象选择板为该
为添加对象参数。
请务必谨慎添加对象参数(过多的对象参数将极的影响游戏
性能),主动为每帧都会被执1次或多次,执次数取决
于为该为添加的对象参数(如英雄的“控制左右移动”为就
添加“左移按钮”和“右移按钮”两个对象参数)在场景中的实个
数。
对于场景中的每个对象实的每个主动为,每帧系
统都会将场景中同该主动为对象参数相同的对象实(及其衍
对象)的所有组合来反复执该主动为(如在活跃场景有1
个英雄对象实,1个左移按钮对象实(记为左移按钮A),1个
右移按钮对象实(记为右移按钮B),则在帧内,该英雄实
的主动为“控制左右移动”会被执的次数是1x1=1次,执时
传递给该为的对象参数是(左移按钮A,右移按钮B)。另种
情况,如果场景中有1个英雄对象实,2个左移按钮对象实
(记为左移按钮A,左移按钮B),2个右移按钮对象实(记为右
移按钮C,右移按钮D),则在帧内,该英雄实的主动为
“控制左右移动”会被执的次数是2x2=4次,4次执时传递给
该为的对象参数分别是(左移按钮A,右移按钮C),(左移按钮
A,右移按钮D),(左移按钮B,右移按钮C),(左移按钮B,右移
按钮D))。
1.3.1 被动为
点击主动为板的“o”按钮,在弹出项中选择“设置为被动
为”即可将主动为转换为被动为(如英雄的“受伤”为),被
动为会被系统执,只能通过主动内的“动作”间接执。
除来对象参数,被动为还可以添加值参数,值参数的具体
值需要执的时候才确定。
1.3.2 为的元素
主动为和被动为包含的元素类型相同,分别是“动作”,
“分”,“循环”,“结束循环”,“终为”这5种元素。
!【动作】
进对象的为编辑后,点击”+”按钮,在弹出项中选择“动作”
即可进动作编辑,点击对象板可以改变执该动作的标对
象,标对象可以是当前为的持有对象身,或者是对象参数(
如下左图就是将当前为的持有对象英雄设置为可,下右图则是将
当前为的参数对象左移按钮设置为可)。
为中动作的执顺序为依次执(如下图,执的顺序是动作
1->动作2,然后为结束)。
前动作共有27种类型,分为6个类,每个都有同的功能(未
来会增加多的动作)。
1.执被动为:执标对象的被动为,如果该被动为设
置对象参数或者值参数,则需要在这输确定的值。
2.设置可性:若设置为可,则标对象会就会看。
3.设置属性:可以在这通过表达式改变标对象内置属性及
定义属性的值(如要将英雄的坐标设置到(1000,500)到位置,只需
要勾选X属性及Y属性,在表达式中输对应的数值即可)。
4.设置状态:在状态表达式中输要设置的状态ID值即可(若对象
已经处于该状态,则该动作效,若要强制效,请勾选强制
新),若要在设置的状态其动画结束后的动切换下状态(必须是未
启动画循环的状态,启动画循环的状态其动画永远会结
束),请勾选下状态,然后填写下状态的ID值(如将英雄设置为
攻击状态,攻击状态动画结束后动变为移动状态就可以按下图设
置)。
5.设置速度:可以分别设置标对象的平速度、垂直速度及整
体速度。若是设置平速度,表达式的值为正表示向右,为负表示向
左。若是设置垂直速度,表达式的值为正表示向下,为负表示向上。
6.设置重因:重因默认为1,标对象实际受到的重加
速度等于场景中的重加速度乘以重因(如场景中的重加速
度为9.8,标对象的重因设置为0,则实际受到的重为
9.8x0=0,即该对象受重影响(会下落))。
7.闪烁:可以给标对象添加闪烁效果,红绿蓝的取值范围为0到
255(如要在60帧/秒的游戏中给英雄添加个闪烁1秒红光的效果,
即可按下图设置)。
8.施:给对象施加个,注意,该动作只对质于0的对
象有效果。
9.施冲:给对象施加个冲,注意,该动作只对质于0
的对象有效果。
10.施扭:给对象施加个冲,注意,该动作只对质于
0且启扭的对象有效果。
11.移动:移动对象,位移的单位为像素。
12.移动到:将标对象以指定的速度移动到指定的坐标,若要在
移动的时候动新向,请勾选新向(如要将位于(0,0)坐
标向左的英雄移动到(1000,200)时动改变为向右)。
13.定点移动:可以添加任意多个的地坐标点,然后标对象会
在这个标点中顺序移动。
14.设置镜头:来设置活跃场景中镜头的焦点及缩放值(如要将
镜头对准英雄,只需勾选X、Y项,并将其表达式的值设置为英雄的
坐标即可)。
15.切换活跃场景:来设置活跃场景(如要将活跃场景切换到2
号场景,只需在场景序号项的表达式中输2即可),若有勾选“重置
旧场景”项,则切换后旧的活跃场景将会被重置。
16.转移对象到其它场景:可以将活跃场景中的对象转移到其它场
景(如要将活跃场景中的英雄对象转移到2号场景,只需在场景序号
项中输2即可)。
17.添加对象:可以在指定的场景中添加新的对象(如要在2号场
景中添加个兽对象,只需按下图设置即可),若要在活跃场景中
添加对象,请将“场景序号”项设置为-1,若要添加的是“对象名称”项
中对象的衍对象,请在“衍对象ID”栏中输衍对象的ID值(否则
请保持默认值-1)。
18.删除对象:可以将活跃场景中的标对象删除。
19.退出游戏:执该动作后,将退出程序。
20.绘制字符:于在活跃场景绘制指定的字符。系统带来
两种字体件(SystemEnglishFont.otf仅持英,
SystemUniversalFont.ttf持中英),若要使其它字体,请将对应
的字体件(持格式为ttf及otf)放置在“/sdcard/Android/data/
com.pjz.gamemaker/files/”录后重启app即可识别(件名请英
)。显示区域来定义显示该字符的空间范围(若将宽度或度设
置为-1,则表示限)。
21.绘制形状:于在活跃场景绘制指定的形状。
22.绘制动画:于在活跃场景绘制指定的动画。当标对象闪烁
时(执“闪烁”动作后),若要其绘制的动画也起闪烁,请将“连带
闪烁”的值设置为0。
23.播放效果:于播放段wav格式的效果,项的值范
围在0到1之间。
24.播放背景:于播放段mp3格式的背景,项的值范
围在0到1之间,若要循环播放,请勾选“循环”项。
25.终背景:于终正在播放的背景,若在“声件序
号”中设置背景序号未处于播放状态,则该动作意义。
26.保存存档:于保存标对象当前各项属性的值。
27.读取存档:于读取标对象个项属性的值,若“存档名称”指
定的存档存在(必须先由“保存存档”动作创建),则该动作意义。
正确读取存档后,将由存档对象属性的值来覆盖标对象的属性值。
!【分】
进对象的为编辑后,点击”+”按钮,在弹出项中选择“分”
即可进动作编辑,点击对象板可以改变执该动作的标对象
(可以是为的持有对象身,或者是对象参数)。
为中分的执顺序为若分条件成,则执绿出处的
分,反正若分条件成,则执红出处的分(如下
图,若分1成,接下来执动作3.1,反之则执动作3.2)。
前分共有8种类型,分为3个类,每个都有同的功能。
1.数值较:当所有的成对表达式都满时,该分条件成(
如下图,当英雄的X坐标于400,同时英雄的Y坐标于200时,该
分条件成)。
2.当前状态动画已播放完毕:当标对象当前状态的动画播发完
毕时,该分条件成,反之成(若对象当前状态动画启循
环,则该条件于会成)。
3.地图两点间连通:来判断地图上指定的两点间是否连通,可
以指定法通过区域的形状标签。
4.活跃场景:若当前活跃场景和表达式中指定的场景致,该分
条件成,否则成。
5.点击形状:如果存在对标对象指定形状的触碰为(按下、按
住、放开),则分条件成,否则成。
6.点击屏幕:如果存在对屏幕指定的触碰为(按下、按住、放
开),则分条件成,否则成。
7.点击键盘:该分仅于PC及Mac系统,当按下键盘上指定的
按键(ASCII码标示),则分条件成,否则成。
8.形状碰撞:当指定的两个标对象间指定的形状发碰撞,则
分条件成,否则成。
!【循环】
进对象的为编辑后,点击”+”按钮,在弹出项中选择“循环”
即可创建,循环可以设置循环次数(若要限循环,请将循环次数设
置为-1,此时需要在循环内部适当的位置添加“结束循环”,否则程序
将卡死),循环体内的元素会反复执相应的次数(如将循环1的循
环次数设置为5,则其循环体内的分2将会反复执5次,动作4会
根据每次分2是否成来确定是否执)。
!【结束循环】
在循环内部执结束循环后,将视剩余循环次数直接结束循环
(如如将循环1的循环次数设置为5,若第3次循环时分2成
,则执分2红出下的结束循环后直接结束循环)。
!【终为】
在循环内部执终为后,将直接结束当前为(如如将循
环1的循环次数设置为5,若第3次循环时分2成,则执分2
红出下的终为后直接结束为)。
1.4 物参数
!【质】
来标示对象的质,该值的作主要体现两个同质对象碰
撞后的效果样(如个1千克的球体和个1000千克的球体发
碰撞的结果就是1千克的球体被撞),另在对对象执
“施”、“施冲”等动作产的效果也会因为对象的质有所
同(如对1千克的球体和1000千克的球体都施10的冲,1千克
的球体可能就,1000千克的球体纹丝动)。将质设置为
0表示该对象质穷。将质设置为负数则表示该对象存在物
信息(受重影响、参与碰撞、法点击等等),这将减少对处
的占。
!【重因】
重因默认为1,标对象实际受到的重加速度等于场景中的
重加速度乘以重因(如场景中的重加速度为9.8,标对象
的重因设置为0,则实际受到的重为9.8x0=0,即该对象受
重影响(会下落))。
!【线性阻尼】
该值会对对象的线速度产影响,若设置该值为0,那么个带有
速度的对象(且未接触其它对象受到摩擦),其速度会随时间变
慢。
!【阻尼】
该值会对对象的速度产影响,若设置该值为0,那么个带有
速度的对象(且未接触其它对象受到摩擦),其速度会随时间变
慢。
!【渲染半径】
活跃场景中的对象若距离镜头焦点的距离于渲染半径,则将
会对其进渲染,这将减少对处的占,若要禁此项(始终渲
染)请将其设置为0。
!【事件半径】
活跃场景中的对象若距离镜头焦点的距离于事件半径,则该对
象的所有为都会被执,这将减少对处的占,若要禁此
项(始终执)请将其设置为0。
!【启扭】
禁此项后,所有扭都对对象效(即对象会因为碰撞、摩擦
等因素旋转)。
!【可碰撞对象】
只有添加的可碰撞对象,与标对象发碰撞时才会有反弹效
果(同时对象当前状态动画必须绑定已勾选“可碰撞”的形状),否则
将直接穿透过去。
2.地图模板
地图是种特殊的对象,组成地图的三要素同对象相似,区别在于地图
没有对象的“状态”这要素,取代之的是“图层”要素,其它要素(属性、
为、物)同对象模样。
每个地图的图层都包含个板砖集,可以点击其中的板砖为其添加
物形状(操作同动画中的操作样)。
设置好板砖集后,就可以在地图的图层上进画笔等具创建地
图内容。