WonderWitch.Com ■TOPネタ
・技その25「内蔵フォントの利用法」
WWGP2003に向けて、WonderWitchの基本から。

今回は、WonderWitchのカートリッジ内に入っているフォントデータの利用方法を紹介します。こちらが今回作成したサンプルプログラム。大きな文字が表示されるだけのシンプルなものです。

フォントのキャラクターデータを取り出すためには、「text_get_fontdata」という関数を使います。書式は以下のとおりです。

text_get_fontdata(コード番号,配列の先頭ポインタ);

「コード番号」は半角の場合0〜255、全角の場合は2バイト文字、つまり0〜65535の値になります。たとえば、「 char sDat[]="漢"; 」と代入した場合、コード番号は、sDat[0]が上位8bit、sDat[1]が下位8bitです。int型に変換する時は、注意してください。

あと、パソコン上で半角文字や全角文字のコードでも、WonderWitchの世界では1キャラクター(8x8ドット)で表現されています。テキストのキャラクターはモノクロ2値なので、1キャラクターあたりのデータサイズは8バイトになります。

1文字ごとの送り量が8ピクセルの場合、文字同士がくっついてしまって読みにくいみたいなので、9ピクセルにしました。
【DOWNLOAD】サンプル「デカ文字表示(全角版)」(フリー/WonderWitch/WonderSwanモノクロ・カラー兼用)

【DOWNLOAD】サンプル「デカ文字表示(半角版)」(フリー/WonderWitch/WonderSwanモノクロ・カラー兼用)


キャラクターデータの利用方法ですが、たとえば「font_set_monodata」で登録して、スプライト表示として使うこともできます。「▲」や「火」が動きまわるゲーム“C:\WWitch\contrib\games\luna”が参考になると思います。
WonderWitchは、第2次水準文字まで対応しているので、テキストを使ったゲームには向いていると思います。豊富なキャラクターデータを活用してみてはいかがでしょうか?


あと、ためしに、WonderWitchエミュレータ「MiracleMage」(Windows用/Tomoyuki'ZRY'Nakanoさん作)でスクリーンショットを取り込んでみました。このツールは、処理が遅かったり(こちらで使っているマシンが遅いだけかも)、カラー非対応だったりと、少々ツラいものがあったのですが(あと、なぜか画面が水色に…!?)、実機なしでも実行できるので、非常に便利でした。あまりトリッキーでないプログラムを実行確認するにはオススメです。

(おまけ)「MiracleMage」は「恵梨沙フォント」を入れ忘れると、文字がうまく表示されないので、注意しましょう(ドキュメント読まなかったのでハマリました)。
(追記)水色になる原因についてですが、DirectXかビデオのドライバがよくないためかもしれません、とのこと。
▼リンク
 【LINK】ズル人間帝国 ver2.0
  「MiracleMage」の作者のZRYさんのWEBサイト


■TOP ▲BACK >NEXT

Presented by WonderWitch.Com 運営委員会