[ Mugen ] - %n赋值的新写法——"多地址赋值"探究

之前我写过几篇%n 的文章(适合0基础的人)

从C 分析 mugen中%n代码


%n  最佳书写格式


%n  2种清零方法


感兴趣的可以看看。


今次我要说的是 %n 的 多地址赋值 写法实验


(多地址赋值):


实验内容①


[state ]
type = DisplayToClipboard
trigger1 = 1
text = "%*d%n%n%d"          ; ← 注意这里的%n 的个数
params = A,1,地址1,地址2
ignorehitpause = 1


注意:
A后面这个 1 是因为 “%*d”的写法问题,才必须给一个整数的。 
当然也可以不是1,只要是正的整数即可,不过最好不要太大。
实验证明 ,写0 也是可以的。不过写法不严谨,最好是写非0正整数.

如果是 “%.*d”。则可以光明正大的写0


实验结果:

地址1 和 地址 2 均被 赋值为 A  (A不能超过 255)

-------

实验内容②


[state ]
type = DisplayToClipboard
trigger1 = 1
text = "%*d%n%n%n%d"
params = A,1,地址1,地址2,地址3
ignorehitpause = 1

实验结果:

地址1,地址2 和 地址3 均被赋值为 A


-------

实验内容③


[state ]
type = DisplayToClipboard
trigger1 = 1
text = "%*d%n%n%n%n%d"
params = A,1,地址1,地址2,地址3,地址4
ignorehitpause = 1

结果:

报错。
报错原因是:params = 后面 最多5个参数。而 “A,1,地址1,地址2,地址3,地址4” 写了6个参数了。所以报错

这是Mugen主程序本身的限制。


-----
-----


所以,综上所述


实验结论:

①,几个%n对应几个地址。最多允许同时给3个地址 赋值。

②,对于
[state ]
type = DisplayToClipboard
trigger1 = 1
text = "%*d%n%n%n%d"
params = A,1,地址1,地址2,地址3
ignorehitpause = 1

这种写法,最后会给 所有地址 均 赋值为 A

其中,A 不超过 255




当然整数型写法“%*d%n%n%d” 也可以用 小数型写法“%.*d%n%n%d”代替

唯一区别是,小数型写法 能给地址赋值为0,而整数型写法不能。


作者:唯 (Author:Yui)

日期:2016.01.04  (Date:04.01.2016)







 
评论
热度(3)
 
回到顶部