|
晚上测试发现H2I函数
[jass]
function H2I takes handle h returns integer
return h
return 174
endfunction[/jass]
应用时有些情况会出现诡异的弹出错误
以下是正常不会出错的应用
[jass] local integer t1=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
local integer t2=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+t1
local integer t3=t1+t2
local integer t=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+174
[/jass]
以下是会出现弹出错误的应用
[jass]
local integer t=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
local integer t=174+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
local integer t=H2I(InitGameCache("lzf"))+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))
local integer t=H2I(InitGameCache("lzf"))+H2I(InitGameCache("lzf174"))[/jass]
所以我的结论:..H2I函数在运算时不能排在运算符号后面
必须先运算H2I
再计算其他
如上面的
[jass] local integer t=H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))+174[/jass] 就是正常
[jass] local integer t=174+H2I(CreateUnit(Player(0), 'h000', 0, 0, 0))[/jass]
就会出问题
ps:好诡异 |
评分
-
查看全部评分
|