setwindowの仕様
textwindowライブラリ作成中に調べてわかったことあれこれ。

・パラメータ7、8個目の文字間隔に値を指定すると、表示する文字の下側、右側にスペースが空けられる。ルビを使用する時は1行目の上のスペースを空けること。ルビがテキストウィンドウをはみ出してもエラーは出ない、だがNScripterのウィンドウからはみ出すとエラーが出て落ちる。
・「文字がウィンドウをはみ出した」とエラーになるのは、文字がテキストウィンドウの端に乗った時。例えばテキストウィンドウの右端座標がX=639の場合、文字が639まで来るとエラーになる。638までならOK。ギリギリまで使おうとするとエラーになるので注意。
・太字フラグ、影付きフラグを立てても座標系(フォントの位置とかサイズとか)には影響を及ぼさない。両フラグを立てて限界(先の例で言うなら638)まで文字が来ても大丈夫。スプライト系でこれらのフラグを立てると座標系に影響があると聞いたけど、こっちは未検証。



 ついでにtextwindowライブラリの仕様も段々固まってきたんで書いときましょう。
 textwindowライブラリでは、set系の命令とchange系の命令を実装しようと思います。
 set系の命令はsetTextWindow命令と併用します。set系の命令で個々の値を指定し、最後にsetTextWindow命令で実行する、といった形です。
 change系の命令は一つの項目だけ変更したい場合に使います。たとえばフォントサイズだけ変更したいとか、ウィンドウの色味だけ変えたいとか。内部的にはset系の命令一つ+setTextWindow命令の形になります。
 setTextWindow命令には自動調節機能を持たせます。例えばset系の命令でフォントサイズのみ変更した場合、文字がウィンドウからはみ出したり余白が空いたりしないように横の文字数を計算し自動的に設定する、といった感じです。自動調節機能無しのsetTextWindowや単なるsetwindowのラッパーも用意しようと思います。

 仕様が固まってきたのはいいけど実装完了にどんだけ時間がかかるやら……。
[PR]
by lyricist_m | 2007-06-19 13:20 | NScripter
<< notifの挙動 setwindowラッパーテスト2 >>