看了下吧里居然没有发的。
JASS:DzFrameSetTextAlignment(frame,integer)
T:设置(XX)对齐方式为(整数型)
这个函数对齐文本,参数里整数对应的对齐方式如下:
左上: 0/1 上:16 右上:32
左:2 居中:18 右:34
左下:4 下:20 右下:36
注意:
如果之前已经对某个frame设置过一次对齐方式,在再次改变该frame的对齐方式前,需将此frame的对齐方式设置为-1,然后再重新设置,否则新设置的位置会有偏移。
例子:
已经将对齐方式设置为20时,再次设置为32,理论应出现在右上,实际会出现在右下。
正确的方法:
将这个当前对齐方式为20的frame的对齐方式设置为-1,然后再调整为32,就会正确的以右上方式对齐。
BUG的原理(没兴趣的可以不看,会操作就可以了):
设置frame的对齐方式实际上并非重置,而是使当前对齐方式+设置的对齐方式(和科技改变护甲BUG类似),而对齐方式的有效值其实不止一个,例如右下方的有效值就有36 84 100……等多个数字,所以当前值为32(右上)时,再次设置为4(左下)就会得出36(右下),同理还有32+20=52(正下方)等。
而设置为-1会使frame的对齐方式强制回到0(左上),所以就可以比较简单可控的重新设置了。
JASS:DzFrameSetTextAlignment(frame,integer)
T:设置(XX)对齐方式为(整数型)
这个函数对齐文本,参数里整数对应的对齐方式如下:
左上: 0/1 上:16 右上:32
左:2 居中:18 右:34
左下:4 下:20 右下:36
注意:
如果之前已经对某个frame设置过一次对齐方式,在再次改变该frame的对齐方式前,需将此frame的对齐方式设置为-1,然后再重新设置,否则新设置的位置会有偏移。
例子:
已经将对齐方式设置为20时,再次设置为32,理论应出现在右上,实际会出现在右下。
正确的方法:
将这个当前对齐方式为20的frame的对齐方式设置为-1,然后再调整为32,就会正确的以右上方式对齐。
BUG的原理(没兴趣的可以不看,会操作就可以了):
设置frame的对齐方式实际上并非重置,而是使当前对齐方式+设置的对齐方式(和科技改变护甲BUG类似),而对齐方式的有效值其实不止一个,例如右下方的有效值就有36 84 100……等多个数字,所以当前值为32(右上)时,再次设置为4(左下)就会得出36(右下),同理还有32+20=52(正下方)等。
而设置为-1会使frame的对齐方式强制回到0(左上),所以就可以比较简单可控的重新设置了。












