RPGツクールと数学のブログ

RPGツクールと数学についてのブログです。

自作フォントを使う

過去ブログの転載です。

ツクール2000のフォントはMSゴシックとMS明朝だけが提供されていますが、裏技により自分で作った文字を使用することが可能です。システムグラフィックの文字色の部分に自作文字を書いちゃう方法ですね。

f:id:fermiumbay13:20190802020720p:plain

↑このようにしておいて、文章の表示でこのようにすれば、黒字で「じさくもじ」と表示されます。文字の影を透明にしておくのを忘れないようにしてください。

\C[0]■\C[1]■\C[2]■\C[3]■\C[4]■

ツクール2000では文章の表示で書いた文字を、システムグラフィックの文字色の部分に被せて文字の部分だけ切り抜いたものを実際に表示しているのです。そのため、■と書けば文字色の■の部分がそのまま文字として表示されることから、このような自作文字を実現できるのです。■だと9×9の小さいサイズの文字しか出来ないのですが……

これを利用すれば一部の場面で好きな文字を描画できて便利だったのですが、長らく一度に多量の自作文字を使用することは出来ないだろうと思っておりました。単純に、一つのシステムグラフィックで使用できる文字色が20色までだからです。しかし最近になって文字描画と並列してシステムグラフィックの変更をすることが可能と聞いて20文字の制限をなくせることが判明したのです。そんなこと出来たのですね……

単純に、2つのイベントを用意して一方を並列処理して動かせば良いだけです。

【本体】
◆スイッチの操作:[0001:会話開始]をONにする
◆文章:■■■■

【並列処理側(出現条件:スイッチ[0001:会話開始]がON)】
◆ウェイト:0.1秒
◆システムグラフィックの変更:システム1
◆ウェイト:0.0秒
◆システムグラフィックの変更:システム2
◆ウェイト:0.0秒
◆システムグラフィックの変更:システム1
◆ウェイト:0.0秒
◆システムグラフィックの変更:システム2
◆ウェイト:0.0秒
◆スイッチの操作:[0001:会話開始]をOFFにする

システム1とシステム2はそれぞれ文字色の部分を変えたシステムグラフィックです。本体では同じ文字「■」しか表示していないのに、交互に文字が変わっていることが確認できると思います。並列処理側がなんで最初0.1秒ウェイトなのかはよくわかりません。たぶんおまじないです。その後は1文字ずつのシステムグラフィックの変更で対応できます。標準の文字スピードだと1文字のウェイト時間が0.0秒ウェイトと同じなためです。

複雑な文字表示に対しての文字スピードは以前考察して纏めたのですが、ジオシティーズ終了に伴い消えてしまったので、新HPに移植中です。しばらくお待ちください……

これを利用すれば、20文字を超えた自作文字の使用が可能になり、自作フォントの使用が可能ということになります。

f:id:fermiumbay13:20190802020740p:plain

ひらがなを書いてみました。80文字です。

f:id:fermiumbay13:20190802020752p:plain

↑これを土台にして、システムグラフィックを4個作ります。

1:
f:id:fermiumbay13:20190802020802p:plain

2:
f:id:fermiumbay13:20190802020811p:plain

3:
f:id:fermiumbay13:20190802020828p:plain

4:
f:id:fermiumbay13:20190802020851p:plain

実際に次のように入力します。

ただし、文章の表示が長すぎて標準の方法では入力することが出来ません。このブログでは相互変換モジュールの導入をオススメしてます↓ ぜひぜひ!

fermiumbay13.hatenablog.com

別途HSPをインストールする必要がありますが、イベント命令をプログラムに変換して色々出来るので、きっと便利です。これでどれだけ長い文章でも入力可能です。

【本体】
◆スイッチの操作:[0001:会話開始]をONにする
◆文章:\C[4]■\C[5]■\C[17]■\C[2]■\C[19]■\C[0]■\C[1]■\C[10]■\C[12]■

【並列処理側(出現条件:スイッチ[0001:会話開始]がON)】
◆ウェイト:0.1秒
◆システムグラフィックの変更:ひらがな1
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな2
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな2
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな1
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな3
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな4
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな1
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな2
◆ウェイト:0.0秒
◆システムグラフィックの変更:ひらがな1
◆ウェイト:0.0秒
◆スイッチの操作:[0001:会話開始]をOFFにする

f:id:fermiumbay13:20190802020915p:plain

きちんと「おはようございます」と表示されていますね。