3.顶栏比分位置修改
还没完,虽然顶栏和底栏高度修改了,但是剩下的标签却还在原来的位置,接下来我们修改顶栏标签。
"CTScoreLabel"和"CTScoreValue"是特警团队名称及分数,"TERScoreLabel"和"TERScoreValue"是匪徒的团队名称和分数,我们看一下这个控件的参数:

这里就产生一个问题,为什么团队名称的标签使用了右对齐?这是因为,不同语言,这个标签显示的宽度不同,比如中文是反恐精英,而英文是Counter Terrorists,长度明显比中文长了很多,采用右对齐,可以让这个标签往左延伸,而左边是空着的,这样就不会影响右边的分数标签了,分数标签采用左对齐。这样的话,我们想将分数移动到顶栏左边就不可能了,除非你以后只使用简体中文,或者某个语言,我们可以认为修改团队标签的宽度,但是一旦换成另一种语言,这个标签就会显示不完整。

想解决这个问题,有两种方法,一种是将所有语言该处的名字全部替换成CT,这样无论使用哪种语言也都能看懂,而且只有两个字母,标签的宽度也是固定的。不过这里我们换一种思路,也就是将这个分数移动到中间,左边显示匪徒的,右边显示特警的。
下边我们添加一个ImagePanel,做一个分数标志图片。
打开PS,新建一个100*36的画布,画一个多边形,左边填充红色
#ff4040,右边填充蓝#99ccff,黑色描边,背景图层填充白色。

找一个比较好看的素材,作为标志,放在中间,找匪徒和特警的素材放在两边。

合并图层并用套索工具选中白色的部分,切换到通道面板,新建一个Alpha通道,反选并填充为白色。

将这个文件保存为TGA格式,打开VTFEdit,导入图片并保存为specscorepanel.vtf。
编写一个VMT文件,内容如下:
"UnlitGeneric"
{
"$translucent"1
"$basetexture""VGUI\specscorepanel"
"$vertexcolor"1
"$vertexalpha" 1
"$no_fullbright" 1
"$ignorez" 1
}

将VMT和VTF一起放到followme\materials\vgui下边,回到spectator.res中,在"CTScoreLabel"的上边添加如下代码:
"SpecScorePanel"
{
"ControlName" "ImagePanel"
"fieldName" "SpecScorePanel"
"xpos" "c-50"
"ypos" "0"
"zpos" "5"
"wide" "100"
"tall" "18"
"autoResize" "0"
"pinCorner" "0"
"visible" "1"
"enabled" "1"
"tabPosition" "0"
"scaleImage" "1"
"image" "specscorepanel"
}

接着将"CTScoreLabel"的宽和高修改为0,将"CTScoreValue"的x坐标修改为c+25,y坐标为2,添加zpos参数并设置为10,修改textAlignment参数为east:

同理修改"TERScoreLabel"的宽和高设置为0,将"TERScoreValue"的x坐标修改为c-40,y坐标为2,添加zpos参数并设置为10,保存进入游戏看一下:


稍微有些喜感……