HSPで文字を表示するときに使うmes命令ですが、文字間隔を空けて表示するには少し不便ですね。
確かにtexoptとtexmesを使って表示することは可能なのですが、結構使いにくいので今回はその命令を作ってみます。
(実は字間設定プレビューでtexmesを使おうとしてテクスチャとかいろいろしてたら面倒くさくなった)
コードは以下のとおりです。
#module ;字間で表示命令 #deffunc jikanmes str a ,int b sdim buf,strlen(a)*2+2 cnvstow buf,a posx = ginfo_cx : posy = ginfo_cy repeat pos posx,posy tmp = wpeek(buf,cnt*2) if tmp = 0 : break mes cnvwtos(tmp) posx = posx+ginfo_mesx+b loop return #global jikanmes "あいうえお",10
このようなコードでどうでしょうか。まあ言ってしまえば文字数カウンタの応用ですが。
この場合では、文字間隔が10pxになっていますが、第2引数の値によって間隔が変更できます。
改行コードが入った場合は対応できませんが、少し書き換えれば対応できるのではないでしょうか。
tmpが改行コードのときに分岐したり、改行ごとに配列に格納してループしたり…
私は特に複数行の必要がなかったので書きません。
一助になれば幸いです。
Leave a Comment