3.2 一个状态的基础部分

注意:此章节假定你至少浏览过AIR文件的相关文档,理解了动画的概念,同时了解了一个动画中的关键名字和短语.例如(action(动作)和element(元素),详见animelem控制器)

这是一个简短的p1状态的例子:

[Statedef 200]
type = S
physics = S
movetype = I
ctrl = 0
anim = 200
velset = 0

[State 200, 1]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

此状态播放了P1动画中的 Action 200,动画结束后返回了p1的站立状态.
在此情况下,假定Action 200 是有限循环次数的.就是说, Action 200 没有计算出时间为-1的元素.

这点上,你不必担心详情.让我们从理解一个状态的组成开始.

所有的状态必须含有一个单独的Statedef章节,且一个或更多的State章节.

Statedef包含了一个状态开始的状态信息,就像此状态的类型(站立,蹲下,空中),招式类型(攻击,空闲).

每个State章节涉及到诸如状态控制器或者简短的控制器.
控制器告诉程序对p1做什么,什么时候做.有很多类型的控制器,每个都有自己的函数.
例如,有些控制器用于改变玩家的位置和速度,定义攻击的效果,创建飞行道具,改变动画,改变状态,等等.
每个控制器至少要含有一个触发条件.触发条件是使控制器激活的一个事件.
例如:状态开始时触发,动画结束时触发,当某个动画播放至某个元素时触发,当p2在p1某个范围内时触发,等等.