FIGHT(血条等)相关参数设定

如何自定义

首先在[Files]下面设置文件名.

其次,你能自定义fight画面中的任何部件.
部件可以是从血条到K.O.文字的任何东西.

每个部件从名字开始,然后是点,最后是它元素的名字.
例如"bg"部件中的"anim"元素应该是这样表示"bg.anim"

这是几个主要的元素类型
1. anim (动画)
2. spr (图片)
3. font (文字)
4. snd (声音)

1. anim
格式: anim = actionno
actionno是动作号.你必须指定定义在这个文件中的有效动作号.
动作中的图片来自于[Files]组下面设定的"sff".
你能在此文件中任何位置定义动作,只要不在一个组模块之间
例如,要是用p1.bg0部件的第5号动作:p1.bg0.anim = 5
2. spr
格式: spr = spritegrp, spriteno
这是图片的一对识别号.例如,要显示 p1.throw部件的103,0图片素材:p1.throw.spr = 103,0
3. font
格式: font = fontno, fontbank, alignmnt, R, G, B
text = text
设置字体(和可选的文本内容).fontno是定义在[Files]下面的字体号.
例如,对于"font2 = font/num1.fnt",则fontno就是2.
fontbank字体使用的color bank(颜色库?).指的是此字体拥有的color bank.
alignmt是字体对齐方式.1-左对齐,0-中间对齐,-1-右对齐
R,G,B是字体颜色的校准值.默认是256,256,256(无颜色校准)
所有字体值都是可选的.如果缺省fontno,将不会显示任何字体.
"text"(文字)元素应该伴随着字体元素出现,必要时.
下面的例子将显示"FIGHT!"使用1号字体,1号库,中间对齐方式.
fight.font = 1,1, 0
fight.text = FIGHT!
4. snd
格式: snd = sndgrp, sndno
声音的一对识别符.
例子:
level1.snd = 21,0
注意,anim,spr,font元素类型是互斥的,你只能部件中使用他们中的一个.

支持的元素类型随部件的变化而变化.通常anim,spr,font元素对部件是通用的.但是在某些情况下,只能使用1种元素类型.
能在[Combo]下发现这样的例子:counter.font = 2,4(连击数的字体),你不能用动画或者图片来表示连击数,所以这种情况只能定义一个使用的字体.

还有一些元素类型,他们自身不起什么作用.他们能用于更精确控制元素类型.
对于snd元素无效.
5. offset (偏移量)
6. displaytime (显示时间)
7. facing (水平倒转)
8. vfacing (垂直倒转)
9. layerno (层号)
10. scale (缩放)

5. offset
格式: offset = x, y
设置元素x,y方向偏移量.缺省默认是0,0.
6. displaytime
格式: displaytime = time_in_ticks
定义元素显示的时间.若缺省,默认值随元素类型而变化.
对于spr和font元素,默认显示时间是1.对anim,是动画的循环时间.
显示"FIGHT!"文字45帧:
fight.font = 1,1, 0
fight.text = FIGHT!
fight.displaytime = 45
7. facing
格式: facing = dir
设置显示的元素是否水平翻转.1是不翻转,-1翻转.
对字体无效,缺省默认是1.
8. vfacing
格式: vfacing = dir
垂直方向的翻转.
9. layerno
格式: layerno = no
设置层号.0-在背景的上方,但是在人物的下方.1-在玩家上方,但是在前景下方.2-在前景上方.
大多数情况下设置为0.如果你要让血条和能量条显示在最上方,就把相关部件都设置layerno = 2.
10. scale
格式: scale = xscale, yscale
设置x,y方向缩放系数.默认是1,1.不支持字体.
一些部件还有他们独特的元素.

; 定义fight画面

; 这部分同system.def

[Files]
sff = fight.sff
snd = fight.snd
font1 = jg.fnt
font2 = num1.fnt
font3 = name1.fnt
fightfx.sff = fightfx.sff
fightfx.air = fightfx.air
common.snd = common.snd

;-----------------------------------------------------------
[FightFx]
scale = 1

;-----------------------------------------------------------
[Lifebar]
;Player 1
p1.pos = 140,12
p1.bg0.anim = 10 ;指的是血条相应的框架背景,血条框架背景由几个图像元素构成,也就是bg0,bg1...貌似只能指定到2还是3
p1.bg1.spr = 11,0
p1.mid.spr = 12,0 ;扣血时的红血印
p1.front.spr = 13,0 ;血条图像
p1.range.x = 0,-127 ;血条的范围,扣血就会在这个范围里进行,例如血条的左边缘位置是10,右边缘是100,难么范围也要用这个值,如果指定的范围不在10-100之间,就不正常了
;(这里只是举例子,坐标位置不一定就是这个,具体要看血条的边缘位置.)
;Player 2
p2.pos = 178,12
p2.bg0.anim = 10
p2.bg0.facing = -1
p2.bg1.spr = 11,0
p2.bg1.facing = -1
p2.mid.spr = 12,0
p2.mid.facing = -1
p2.front.spr = 13,0
p2.front.facing = -1
p2.range.x = 0,127

[Begin Action 10] ;Darkened lifebar background
10,0, 0,0, 1, , S

[Simul Lifebar] ;2v2时的血条
;Player 1
p1.pos = 140,12
p1.bg0.anim = 20
p1.bg1.spr = 21,0
p1.mid.offset = 0,-1
p1.mid.spr = 22,0
p1.front.offset = 0,-1
p1.front.spr = 23,0
p1.range.x = 0,-127
;Player 2
p2.pos = 178,12
p2.bg0.anim = 20
p2.bg0.facing = -1
p2.bg1.spr = 21,0
p2.bg1.facing = -1
p2.mid.offset = 0,-1
p2.mid.spr = 22,0
p2.mid.facing = -1
p2.front.offset = 0,-1
p2.front.spr = 23,0
p2.front.facing = -1
p2.range.x = 0,127
;Player 3
p3.pos = 140,15
p3.mid.spr = 22,0
p3.front.spr = 23,0
p3.range.x = 0,-127
;Player 4
p4.pos = 178,15
p4.mid.spr = 22,0
p4.mid.facing = -1
p4.front.spr = 23,0
p4.front.facing = -1
p4.range.x = 0,127

[Begin Action 20] ;Darkened lifebar background (team)
20,0, 0,0, 1, , S

[Turns Lifebar] ;turn模式的血条
;Player 1
p1.pos = 140,12
p1.bg0.anim = 10
p1.bg1.spr = 11,0
p1.mid.spr = 12,0
p1.front.spr = 13,0
p1.range.x = 0,-127
;Player 2
p2.pos = 178,12
p2.bg0.anim = 10
p2.bg0.facing = -1
p2.bg1.spr = 11,0
p2.bg1.facing = -1
p2.mid.spr = 12,0
p2.mid.facing = -1
p2.front.spr = 13,0
p2.front.facing = -1
p2.range.x = 0,127

;-----------------------------------------------------------
[Powerbar] ;能量条(原理和血条一样)
;Player 1
p1.pos = 140,22
p1.bg0.anim = 40
p1.bg1.spr = 41,0
;p1.mid.spr = 42,0
p1.front.spr = 43,0
p1.range.x = 0,-107
p1.counter.offset = -108,6
p1.counter.font = 1,0, 0

;Player 2
p2.pos = 178,22
p2.bg0.anim = 40
p2.bg0.facing = -1
p2.bg1.spr = 41,0
p2.bg1.facing = -1
;p2.mid.spr = 42,0
;p2.mid.facing = -1
p2.front.spr = 43,0
p2.front.facing = -1
p2.range.x = 0,107
p2.counter.offset = 109,6
p2.counter.font = 1,0, 0

; --等级的声音---
;1000power称为等级1,能量蓄满1000时的声音
level1.snd = 21,0
level2.snd = 21,0
level3.snd = 21,0

[Begin Action 40] ;Darkened powerbar background
40,0, 0,0, 1, , S
;-----------------------------------------------------------
[Face] ;血条上的头像
;Player 1
p1.pos = 2,12
p1.bg.spr = 50,0
p1.face.spr = 9000,0
p1.face.facing = 1
p1.face.offset = 0,10
;Player 2
p2.pos = 316,12
p2.bg.spr = 50,0
p2.bg.facing = -1
p2.face.spr = 9000,0
p2.face.facing = -1
p2.face.offset = 0,10

[Simul Face] ;2v2
;Player 1
p1.pos = 1,12
p1.bg.spr = 60,0
p1.face.spr = 9000,0
p1.face.scale = 0.6,0.6
p1.face.facing = 1
p1.face.offset = 0,10
;Player 2
p2.pos = 317,12
p2.bg.spr = 60,0
p2.bg.facing = -1
p2.face.spr = 9000,0
p2.face.scale = 0.6,0.6
p2.face.facing = -1
p2.face.offset = 0,10
;Player 3
p3.pos = 2,12
p3.face.spr = 9000,0
p3.face.scale = 0.6,0.6
p3.face.facing = 1
p3.face.offset = 11,10
;Player 4
p4.pos = 316,12
p4.bg.facing = -1
p4.face.spr = 9000,0
p4.face.scale = 0.6,0.6
p4.face.facing = -1
p4.face.offset = -11,10

[Turns Face] ;turn模式
;Player 1
p1.pos = 2,12
p1.bg.spr = 50,0
p1.face.spr = 9000,0
p1.face.facing = 1
p1.face.offset = 0,10
p1.teammate.pos = 1,49
p1.teammate.spacing = 13,0
p1.teammate.bg.spr = 70,0
p1.teammate.ko.spr = 71,0
p1.teammate.face.spr = 9000,0
p1.teammate.face.scale = 0.5,0.53
p1.teammate.face.facing = 1
p1.teammate.face.offset = 1,0
;Player 2
p2.pos = 316,12
p2.bg.spr = 50,0
p2.bg.facing = -1
p2.face.spr = 9000,0
p2.face.facing = -1
p2.face.offset = 0,10
p2.teammate.pos = 317,49
p2.teammate.spacing = -13,0
p2.teammate.bg.spr = 70,0
p2.teammate.bg.facing = -1
p2.teammate.ko.spr = 71,0
p2.teammate.ko.facing = -1
p2.teammate.face.spr = 9000,0
p2.teammate.face.scale = 0.5,0.53
p2.teammate.face.facing = -1
p2.teammate.face.offset = -1,0

;-----------------------------------------------------------
[Name] ;名字
p1.pos = 14,10
;p1.bg. =
p1.name.font = 3,0, 1
;p2.bg. =
p2.pos = 305,10
p2.name.font = 3,0, -1

[Simul Name]
p1.pos = 14,10
p1.name.font = 3,0, 1
p2.pos = 305,10
p2.name.font = 3,0, -1
p3.pos = 138,10
p3.name.font = 3,0, -1
p4.pos = 181,10
p4.name.font = 3,0, 1

[Turns Name]
p1.pos = 14,10
;p1.bg. =
p1.name.font = 3,0, 1
;p2.bg. =
p2.pos = 305,10
p2.name.font = 3,0, -1

;-----------------------------------------------------------
[Time] ;时间
pos = 160,23

;bg.spr = ;时间的框架背景
counter.offset = 0,0
counter.font = 2,0, 0 ;时间字体
; 每倒记1时间经过多少帧
framespercount = 60

;-----------------------------------------------------------
[Combo] ;连击数
team1.pos = 10,80       ;起始坐标
team1.start.x = -40      ;初始x坐标
team1.counter.font = 2,4,1
team1.counter.shake = 1 ;击中时连击数能震动
team1.text.text = Rush! ;%i表示连击数,比如KOF98中是 RUSH 10 HITS,则写法是 RUSH %i HITS.
team1.text.font = 1,0,1
team1.text.offset = 3,0
team1.displaytime = 90 ;连击数显示的时间
team2.pos = 309,80
team2.start.x = 359
team2.counter.font = 2,4,-1
team2.counter.shake = 1
team2.text.text = Rush!
team2.text.font = 1,0,-1
team2.text.offset = 3,0
team2.displaytime = 90

;-----------------------------------------------------------
[Round] ;回合相关
match.wins = 2 ;要赢几局才能最终获胜
match.maxdrawgames = 1 ;允许几次平局(-1表示无限) *2001.11.01 NEW*
start.waittime = 30 ;开场介绍前等待的时间

; 所有元素的默认位置
pos = 0,0

; ROUND X
round.time = 0 ;显示round字样的时间
round.default.offset = 160, 100
;默认每局显示的问题.Round %i表示第几回合
; 使用"round.default.anim"代替输出文字
round.default.font = 1,0, 0
round.default.text = Round %i
round.default.displaytime = 60
; 每回合的声音(最多指定9个回合)
round1.snd = 0,1
round2.snd = 0,2
round3.snd = 0,3
round.sndtime = 0 ;播放声音的时间
; 设置每回合图像元素的参数(最多指定9个回合)
;round1.offset = 160, 100
;round1.anim =

; FIGHT
fight.time = 0 ;显示FIGHT的时间
fight.offset = 160, 110
fight.anim = 80
fight.snd = 1,0
fight.sndtime = 0

ctrl.time = 30 ;"Fight"出现后多久player才能受控制

; 显示KO字样相关设置
KO.time = 0
KO.offset = 160, 70
KO.anim = 200
KO.snd = 2,0
; Double KO字样相关设置
DKO.offset = 160, 70
DKO.font = 1,5
DKO.text = Double K.O.
DKO.displaytime = 60
DKO.snd = 2,1
; Time Over字样相关设置
TO.offset = 160, 70
TO.font = 1,5
TO.text = Time Over
TO.displaytime = 60
TO.snd = 2,2
KO.sndtime = 0 ; KO, DKO ,TO播放的时间.
slow.time = 60 ;Time for KO slowdown (in ticks)
over.waittime = 45 ;KO结束后player停止前的时间
over.hittime = 10 ;KO结束后player还能攻击的时间
over.wintime = 45 ;player进入胜利状态前的时间
over.time = 210 ;回合结束前等待的时间
; win/draw信息显示前的时间
win.time = 60
; Win text
win.offset = 160, 70
win.font = 1,0
win.text = %s Wins
win.displaytime = 540
; 2-player win text
win2.offset = 160, 70
win2.font = 1,0
win2.text = %s and %s Win
win2.displaytime = 540
; Draw text
draw.offset = 160, 70
draw.font = 1,0
draw.text = Draw Game
draw.displaytime = 540

;"Fight!" Animation
[Begin Action 80]
80,0, 0,0, 1
80,6, 0,0, 1
80,7, 0,0, 1
80,6, 0,0, 1
80,0, 0,0, 30
80,1, 0,0, 1
80,2, 0,0, 1
80,3, 0,0, 1
80,4, 0,0, 1
80,5, 0,0, 1

;"K.O." Animation
[Begin Action 200]
-1,-1, 0,0, 5
200,2, 0,0, 2, ,A1
200,1, 0,0, 2, ,A
200,2, 0,0, 2, ,A
200,2, 0,0, 18, ,A1
200,4, 0,0, 2, ,A1
200,3, 0,0, 2, ,A
200,4, 0,0, 2, ,A
200,4, 0,0, 18, ,A1
200,0, 0,0, 2, ,A1
200,5, 0,0, 2, ,A1
200,5, 0,0, 2, ,A
200,5, 0,0, 2, ,A1
200,0, 0,0, 2, ,A1
200,0, 0,0, 50
200,6, 0,0, 1, ,A1
200,7, 0,0, 1, ,A1
200,8, 0,0, 1, ,A1
200,9, 0,0, 1, ,A1
200,10, 0,0, 1, ,A1

;-----------------------------------------------------------
[WinIcon] ;胜利图标
p1.pos = 34,43 ;33,43
p2.pos = 284,43 ;286,43
; 下个图标的位移 (x,y)
p1.iconoffset = 12,0
p2.iconoffset = -12,0
; Counter字体和位移
p1.counter.offset = 0,0
p1.counter.font = 2,1
p2.counter.offset = 0,0
p2.counter.font = 2,1
; Win by normal
p1.n.spr = 100,0
p2.n.spr = 100,0
; Win by special
p1.s.spr = 101,0
p2.s.spr = 101,0
; Win by hyper (super)
p1.h.spr = 102,0
p2.h.spr = 102,0
; Win by normal throw
p1.throw.spr = 103,0
p2.throw.spr = 103,0
; Win by cheese
p1.c.spr = 104,0
p2.c.spr = 104,0
; Win by time over
p1.t.spr = 105,0
p2.t.spr = 105,0
; Win by suicide (here's a fun one)对手自杀
p1.suicide.spr = 106,0
p2.suicide.spr = 106,0
; Opponent beaten by his own teammate (another fun one)被自己队友杀死
p1.teammate.spr = 107,0
p2.teammate.spr = 107,0
; Win by perfect (overlay icon)
p1.perfect.spr = 110,0
p2.perfect.spr = 110,0
; Use icons up until this number of wins 最多能使用的图标数量
useiconupto = 4