1.对象模板
游戏场景中出现的切都是对象,从简单的个苹果到复杂的宇宙󰓣船都
是个对象,对象仅能表现具体的事物,还能表示抽象的事物,如得分管
。
组成对象的三要素分别是状态、属性、󰀉为,除此之外对象还包含
些物参数。
点击对象󰒏板最右侧的“+”按钮可以创建个空的对象,还可以点击已
经存在的对象按钮右上󰁰的“o”按钮来衍个新的对象,衍出来的对象具有
其原型对象相同的三要素,修改原型对象也会影响到其衍出来的对象。
1.1 状态
每个对象都有独特的状态,如,个红发可以有󰀉󰅴、
跳跃、攻击、死亡等状态,架宇宙󰓣船则可以有󰓣󰀉、射击、坠毁等
状态,个对象在个时刻只能处于种状态。
对象每个状态都有个ID(如󰁰的󰀉󰅴状态ID659),衍的
对象包含其原型的所有状态(如由󰁰对象衍的英雄对象,它就
包含󰁰对象的󰀉󰅴、跳跃、攻击状态),衍出来的对象能删除
(及重命名)其包含的原型状态,但可以对其包含的原型状态的动画进󰀉
重新设置(如󰁰对象的三种状态均未设置动画,但在其衍的英雄
对象中进󰀉设置)
对象每个状态都可以设置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
!向】
有效值为07,对应的向依次为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.设置属性:可以在这󰋿通过表达式改变标对象内置属性及
定义属性的值(如要将英雄的坐标设置到(1000500)到位置,只需
要勾选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.移动到:将标对象以指定的速度移动到指定的坐标,若要在
移动的时候动新向,请勾选新向(如要将位于(00)
标󰒏向左的英雄移动到(1000200)时动改变为󰒏向右)
13.定点移动:可以添加任意多个的地坐标点,然后标对象会
在这个标点中顺序移动。
14.设置镜头:来设置活跃场景中镜头的焦点及缩放值(如要将
镜头对准英雄,只需勾选XY项,并将其表达式的值设置为英雄的
坐标即可)
15.切换活跃场景:来设置活跃场景(如要将活跃场景切换到2
号场景,只需在场景序号项的表达式中输2即可),若有勾选重置
旧场景项,则切换后旧的活跃场景将会被重置。
16.转移对象到其它场景:可以将活跃场景中的对象转移到其它场
(如要将活跃场景中的英雄对象转移到2号场景,只需在场景序号
项中输2即可)
17.添加对象:可以在指定的场景中添加新的对象(如要在2号场
景中添加个兽对象,只需按下图设置即可),若要在活跃场景中
添加对象,请将场景序号项设置为-1,若要添加的是对象名称
中对象的衍对象,请在衍对象ID”栏中输衍对象的ID(否则
请保持默认值-1)
18.删除对象:可以将活跃场景中的标对象删除。
19.退出游戏:执󰀉该动作后,将退出程序。
20.绘制字符:于在活跃场景绘制指定的字符。系统带来
两种字体件(SystemEnglishFont.otf仅持英,
SystemUniversalFont.ttf持中英),若要使其它字体,请将对应
的字体件(持格式为ttfotf)放置在“/sdcard/Android/data/
com.pjz.gamemaker/files/”录后重启app即可识别(件名请英
)。显示区域来定义显示该字符的空间范围(若将宽度或󰕜度设
置为-1,则表示限)
21.绘制形状:于在活跃场景绘制指定的形状。
22.绘制动画:于在活跃场景绘制指定的动画。当标对象闪烁
(执󰀉闪烁动作后),若要其绘制的动画也起闪烁,请将连带
闪烁的值设置为󰒌0
23.播放效果󰒫:于播放段wav格式的效果󰒫,󰒫󰌂项的值范
围在01之间。
24.播放背景󰒫:于播放段mp3格式的背景󰒫,󰒫󰌂项的值范
围在01之间,若要循环播放,请勾选循环项。
25.终背景󰒫:于终正在播放的背景󰒫,若在声󰒫件序
中设置背景󰒫序号未处于播放状态,则该动作意义。
26.保存存档:于保存标对象当前各项属性的值。
27.读取存档:于读取标对象个项属性的值,若存档名称
定的存档存在(必须先由保存存档动作创建),则该动作意义。
正确读取存档后,将由存档对象属性的值来覆盖标对象的属性值。
!【分
进对象的󰀉为编辑后,点击”+”按钮,在弹出项中选择分
即可进动作编辑,点击对象󰒏板可以改变执󰀉该动作的标对象
(可以是󰀉为的持有对象身,或者是对象参数)
󰀉为中分的执󰀉顺序为若分条件成,则执󰀉绿出处的
分,反正若分条件成,则执󰀉红出处的分(如下
图,若分1成,接下来执󰀉动作3.1,反之则执󰀉动作3.2)
前分共有8种类型,分为3个类,每个都有同的功能。
1.数值较:当所有的成对表达式都满󰆄时,该分条件成(
如下图,当英雄的X坐标于400,同时英雄的Y坐标于200时,该
分条件成)
2.当前状态动画已播放完毕:当标对象当前状态的动画播发完
毕时,该分条件成,反之成(若对象当前状态动画启循
环,则该条件于会成)
3.地图两点间连通:来判断地图上指定的两点间是否连通,可
以指定法通过区域的形状标签。
4.活跃场景:若当前活跃场景和表达式中指定的场景致,该分
条件成,否则成。
5.点击形状:如果存在对标对象指定形状的触碰󰀉为(按下、按
住、放开),则分条件成,否则成。
6.点击屏幕:如果存在对屏幕指定的触碰󰀉为(按下、按住、放
),则分条件成,否则成。
7.点击键盘:该分仅于PCMac系统,当按下键盘上指定的
按键(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.地图模板
地图是种特殊的对象,组成地图的三要素同对象相似,区别在于地图
没有对象的状态这要素,取代之的是图层要素,其它要素(属性、󰀉
为、物)同对象模样。
每个地图的图层都包含个板砖集,可以点击其中的板砖为其添加
物形状(操作同动画中的操作样)
设置好板砖集后,就可以在地图的图层上进󰀉画笔等具创建地
图内容。