|
发表于 2009-1-7 22:04:04
|
显示全部楼层
[codes=jass]function AddColorForString takes integer p,string s returns string
if(p==0)then
return "|cFFFF0000"+s+"|r"
elseif(p==1)then
return "|cFF0000FF"+s+"|r"
elseif(p==2)then
return "|cFF00FFFF"+s+"|r"
elseif(p==3)then
return "|cFF9000FF"+s+"|r"
elseif(p==4)then
return "|cFFFFFF00"+s+"|r"
elseif(p==5)then
return "|cFFFF8000"+s+"|r"
elseif(p==6)then
return "|cFF00FF00"+s+"|r"
elseif(p==7)then
return "|cFFFF80C0"+s+"|r"
elseif(p==8)then
return "|cFFC0C0C0"+s+"|r"
elseif(p==9)then
return "|cFF5AC6DC"+s+"|r"
elseif(p==10)then
return "|cFF004040"+s+"|r"
elseif(p==11)then
return "|cFF804000"+s+"|r"
elseif(p==12 or p==13)then
return "|cFF5A3001"+s+"|r"
endif
return s
endfunction
globals
integer array Lp_r
integer array Lp_g
integer array Lp_b
endglobals
function AddColorForTextTag takes nothing returns nothing
set Lp_r[0]=255
set Lp_b[1]=255
set Lp_g[2]=255
set Lp_b[2]=255
set Lp_r[3]=144
set Lp_b[3]=255
set Lp_r[4]=255
set Lp_g[4]=255
set Lp_r[5]=255
set Lp_g[5]=128
set Lp_g[6]=255
set Lp_r[7]=255
set Lp_g[7]=128
set Lp_b[7]=192
set Lp_r[8]=192
set Lp_g[8]=192
set Lp_b[8]=192
set Lp_r[9]=90
set Lp_g[9]=198
set Lp_b[9]=220
set Lp_g[10]=64
set Lp_b[10]=64
set Lp_r[11]=128
set Lp_g[11]=64
set Lp_r[12]=90
set Lp_g[12]=48
set Lp_b[12]=1
endfunction
Lz在获取到玩家的索引后,可以调用AddColorForString 来改变字符串的颜色。如下
local string s=AddColorForString(GetPlayerId(GetOwningPlayer(GetTriggerUnit())),"color")
如果是创建漂浮字体的话,在地图初始化时,调用AddColorForTextTag 就可以了。
使用时如下
local integer i=GetPlayerId(GetTriggerPlayer())
call SetTextTagColor(tt,Lp_r,Lp_g,Lp_b,255)[/codes]
使用以上方法Lz应该能得到对应的颜色了。 |
|