mugen之家吧 关注:840贴子:4,490
  • 0回复贴,共1

转载.关于CNS文件的制作(1)

只看楼主收藏回复

人物的CNS文件完成两个用途: 
i. 定义一些人物的参数,如行走速度,描画比例因素,等等。 
ii. 包含了人物的各状态(States,以下谈到均以英文表述), 描述了所有人物能 
做的动作。States就像造房的砖块一样将复杂的动作简单建立起来。 

和其它人物文件一样,CNS文件是文本文件,可以用文本编辑器编辑。 

在CNS文件中,分号(;)被视为注释标记。分号后的文字内容将被程序忽略。 
CNS基本上是大小写不敏感的,如"MyName"同"myname"和"mYnAMe"被视作相同。 
唯一的例外是触发条件(trigger)"command",不过现在不必担心。 

一些术语 
---------------- 
组,指以[groupname]样子开头的一块文本行,到下一个组的开头作为结尾。例, 
组"Blah"有三行组成, 
如下: 

[Blah] 
line1 
line2 
[Group 2] 
more lines 

在一个组中,参数的顺序无关紧要,因此 

[SomeGroup] 
value1 = 1234 
value2 = "A string" 

等同于: 

[SomeGroup] 
value2 = "A string" 
value1 = 1234 

==================================================================== 
II. 人物变量 
==================================================================== 

现在还没有完整的文件。可以看chars/kfm/kfm.cns有关变量的注释。 

一些重要的提示: 
- [Size]中, 可以用"xscale"和"yscale"改变人物的长度和宽度。这对人物每 
个单图片都有麻烦的缩放效果。 
- 在[Velocity]里设定人物的速度。 
- 在[Movement]的"yaccel"里设定下落加速度。 

方可就把这一段详细写出来吧: 
[Data] 
life=1000 
生命值,一般都是1000,觉得你的人物有特别原因的,就随意增减吧。 
attack=100 
攻击力,以后设定的伤害数值都会乘上该值作为实际效果,当然是百分比。 
defence=100 
防御力,越大就是防御力强,对方对己方的伤害效果也会减少。 
fall.defence_up=50 
被打倒时防御力临时上升的百分比。 
liedown.time=60 
击倒在地后,躺在地上的时间。(其实也是个重要的指数哦) 
airjuggle=15 
空中juggle值(请看后面详解) 
sparkno=2 
默认的击中火花号(觉得好像没用)。 
guard.sparkno=40 
默认的防中火花号。 
KO.echo=0 
被KO时有没有回声(就是啊…啊…啊…………)。 
volume=0 
音量调整(负数就是变轻)。 
IntPersistIndex=60 
FloatPersistIndex=40 
整形/浮点型变量的生存期指标(翻不好,看下去吧)。默认值为60和40,如果 
IntPersistIndex=60则有从0到59排列的60个整形变量,而高于60号的变量将 
不受VarRangeSet控制;不会在rounds或matches中被复位。(有用啊!)如果 
想让你的变量在matches中不被复位,那么就自己覆盖common1.cns的state  
5900吧。 

[Size] 
xscale=1 
横向缩放值。 
yscale=1 
纵向缩放值。 
ground.back=15 
人物宽度--站立后点。 
ground.front=16 
人物宽度--站立前点。 
上两个值会确定人物的宽度,在Debug模式下可以看到一条黄线。当人物有存 
在判定(Clsn2),且没有实现PlayerPush控制语句时,双方黄线交叠时会互相 
弹开。 
air.back=12 
人物宽度--空中后点。 
air.front=12 
人物宽度--空中前点。 
height=60 
人物身高(与对方跳跃过顶有关)。 
attack.dist=160 
攻击效果距离(与对方摆防御动作有关)。 
proj.attack.dist=90 
发射弹(Projectiles,常为飞行道具)攻击效果距离。 
proj.doscale=0 
Projectiles是否也受人物缩放比例影响。 
head.pos=-5,-90 
近似的头部位置(好好设啊,等着我的Choi,heihei) 
mid.pos=-5,-60 
近似的中身部位置 
shadowoffset=0 
影子的垂直偏离象素。 
draw.offset=0,0 
人物的偏离象素(x,y)。 

[Velocity] 
walk.fwd=2.4 
步行前进速度。 
walk.back=-2.2 
步行后退速度。 
run.fwd=4.6,0 
跑步前进速度。 
run.back=-4.5,-3.8 
跑步后退速度。 
上两个值的y如不是0,则为小跳前进/后退速度。 
jump.neu=0,-8.4 
正上跳起速度。 
jump.fwd=2.5 
向前跳起速度。 
jump.back=-2.5 
向后跳起速度。 
上两个值的y大多不设,即等同于jump.neu的y值。 
runjump.fwd = 4,-8.1 
向前跑跳起速度。 
runjump.back=-2.55,-8.1 
向后跑跳起速度。 
airjump.neu=0,-8.1 
正上空中连跳速度。 
airjump.fwd=2.5 
向前空中连跳速度。 
airjump.back=-2.55 
向后空中连跳速度。 

[Movement] 
airjump.num=1 
空中能连跳数。 
airjump.height=35 
空中能启动连跳的最低高度。 
yaccel=.44 
下落加速度。 
stand.friction=.85 
站立摩擦系数。 
crouch.friction=.82 
蹲态摩擦系数。 









1楼2008-12-05 11:37回复