3.4.3 常用控制器
null控制器常用于调试.null控制器基本上没什么用.你能用他临时关闭某些控制器,而不需要把整个章节注释掉.
例如,你也许想废弃这些代码:
只要简单的注释一下type同时插入null;
之后如果你要重新使用之前的控制器,只要把type改成原来的.
让我们回看这个例子:
[State 200, 1]是ChangeState控制器.顾名思义,改变p1的状态号.value参数要包含改变为的状态号.
可选的ctrl参数能被设置成当转换状态时的控制标示(进入下一状态时是否受控).
现在我们来创建一个攻击状态.首先,动画动作需要绘制攻击框.
快速看一下AIR文档的格式:clsn1是攻击框,clsn2是受击框.
所以只要p1的任何clsn1框接触了p2的任何clsn2框,p1就击中了p2.
这个例子,我们假定p1的动画就像下面这样:
定义了攻击/受击框之后,看上去就是:
如你所见,每个元素含有都有clsn2框定义(至少有2个元素使用相同的框).
仅含有Clsn1框的是第二个元素.
注意:对动画中每个元素定义clsn1框是没问题的,但在第一个元素中定义clsn1框,此次攻击将变为瞬间的,变得不能防御(因为没有出招时间,对手来不及防御).
最后,推荐在第一个元素之后定义clsn1框.
下面我们开始设置CNS中的状态.下面将解释一些改变.
statedef下movetype参数设置成A表示"攻击".记住在所有攻击状态中设置此参数为A.
如前,p1在动作结束后返回站立状态.
hitdef控制器看起来很恐怖!别担心,我们下面会慢慢介绍.
指定了控制器类型为hitdef,表示"攻击定义".
在动画的第2元素时被触发.任何此时间点的clsn2框,触发器被激活时,将携带此攻击定义.
假如,举例,你在第2,第3元素中都有clsn1框,在第2元素触发单个hitdef将使他同时作用于两个元素.
所以p1至少将打击1次:如果第2元素击中了,第3元素将miss.如果第3元素击中了,第2元素将miss.
要使攻击hit2次,你必须每个元素都触发hitdef控制器.
攻击的属性.用于决定是否攻击能击中p2.
此例中,这是一个站立普通攻击.
下面的所有参数详见hitdef控制器,在此不一一解释了.