“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

139.HSPでゲームを作ろう:培養臼(BAIOUS) その16

ボーナスステージを作り終えたので、ゲーム本体ではなく、タイトル画面などの周りの部分の作成 に取り掛かることにした。

まずタイトル画面から。
多少なりとも動きを付けたいなと思ったが、まだそのあたりグラフィックの準備もうまくできないし、HSPのグラフィック系の命令もうまく使いこなせない。
そこで、タイトルロゴ自体もスプライトにしてしまおう!と考えた。
初めはグレーの細胞の塊で、徐々に色がつくようなアニメーションをやってみた。
標準スプライトでは、フェードインを設定できる。
es_fade命令で、スプライト番号、フェードモードとその時間を設定すると、スプライトを表示するだけでフェードインさせられる。
フェードインだけでなく、フェードアウトもできるし、その後スプライト自体を消滅させることまでできる優れもの。
今回は、フェードインさせるだけ。こんな感じ。

es_set 400,20,111,4
es_fade 400,ESSPF_FADEIN,100

repeat 200
  redraw 0
    es_draw
  redraw 1
  await 16
loop

これで、タイトルロゴをばーんと表示したら、ゲームスタートと、キー操作方法、使用素材などの表記を行うクレジット画面の選択を行えるようにした。

クレジット画面の表記は、はじめは画像を準備して読み込ませようと思っていたが、修正が面倒。
文字表示はmes命令を使えばできなくないけど、そうするとゲームを配布するときにフォントがなく、表示がずれてしまう。
標準スプライト機能にも、マップを使った文字表示の仕組みがあるけど、欧文のみだし、表示位置の自由度があまりなかった。
それもあったので、今年のコンテストにも応募されていた、しまくろねこさんのmod_picmesを使用して、スコアやステージ開始の文字を表示することにした。

このモジュールを使えば、あらかじめ表示したい文字群を、pngの画像にしておくと、picmes命令で、mes命令と同じように文字を描画できる。
しかも、Truetypeなどのフォントを指定して、png画像を作成できるツールまで完備!至れり尽くせりです。
ただ、1つのフォントしか使用できないので、欧文はこのフォント、和文はこのフォントというものは出来なかった。

そこで、コンテストのコメントに、複数フォントへの対応をしてくれると嬉しいと書いたところ、速攻で複数フォント表示に対応してもらった!
sites.google.com

こうして、画面内に表示する文字は、画像じゃなくて、ソース内に書くことができた。