「こんXXわ」って書き方して、こんにちわにもこんばんわにも対応する書き方あるけど、おはように対応してないやんけ…と毎回思うのなちゃんです、ペンギン村からおはこんばんちわ。
色々テストするためのプロジェクトとか作ってたらティラノビルダーのプロジェクト数が膨大になっていました…愛と平和…(??

さて、吉里吉里に浮気したり、解決案をいろいろ出してもらったりしたりした結果、結局ティラノでこんなことをする結果に落ち着きましたというメモです。
まだちゃんとゲーム本編を作ったわけではなく、テスト的に1シーンだけ作っただけなのですが。

まずゲーム画面の完成系はこんな感じです!

Ws002528
文字にアンチエイリアスかかってない! 素敵!!
実はこの記事の最後に描いた理由(アイコンのパレットが正確じゃない)によってこの画像は微妙に16色ではないのですが、まぁそれは今後整えていくとして…

それでですね、実はこれは、こういう文字列の何も入っていないメッセージウィンドウに、
Ws002525

こんな感じの二値で白部分に透明化をかけた画像をかさねているのです。
Ws002526
(ここではクリックすると背景が透明化されて文字が見えなくなっちゃうので、背景は白のままの画像を貼っています)

命令としてはこんな感じ。

>[image  time="1"  storage="default/moji_scene1_test.png"   x="50"  y="300"   zindex=1005 layer="message0" ]

つまり
  • レイヤー「message0(通常のメッセージレイヤー)」に、
  • 「zindex=1005(レイヤーの重なり準の指定、数が大きいほど前に来る)」を指定し、
  • 画像「moji_scene1_test.png」を重ねている
…というわけですね。

Ws002527

メッセージレイヤに画像を出しているので、メッセージレイヤーを非表示(右クリック)で、ちゃんと文字も消えます。おおー!!
…これだと、文字の表示スピード設定(1文字ずつ文字を表示していく)ができないんですが…
これはGIFアニメで1文字1文字表示していくやり方もあるんですが、それを表現しようとすると膨大な手間と時間がかかるので、今回は一括表示のみと言うことでお許しください。
まぁ時間短縮するやり方はいくらでもあるんですけど(文字を隠す白画像のgifを文字画像にかぶせて、一文字ずつ文字を隠す部分を捲っていくようなイメージのアニメーションgifを使うとか…、画面クリックでこれを消す処理を走らせれば、一括表示させるような表現も可能だけどね)

あとですね、このやり方だと、当然画像でしか文字を表示していないので、ティラノのシステムとしては文字列を扱っていないことになり、バックログに文章が記録されません。
バックログはゲームには必須ではないかもしれませんが、文末とか読み飛ばして再確認したいときもあるので、あった方がいいですよね。

そこで、ティラノには、「メッセージウィンドウに出してないメッセージでもバックログに表示させる」と言う機能があるので、それを使います。

タグはこう

>[pushlog text="などと思いつつ、エリューシュがこんななのはいつものことなので、あまり気にするのはやめるリィムであった。"]

この[pushlog]タグが、ログ画面にのみ表示させる文字列の指定になります。

すると、ほい、こんな感じになります。
Ws002529
バックログ画面には全く手を入れていないので、レトロ風も何もなってないのはお許しください。
そのうち手を入れます。
っていうか通常縦640あるウィンドウを縦400に縮めているので、画面外にメッセージ枠がハミ出してるしね…
とは言えこの画面は、文字にアンチエイリアスがかかってしまうため、16色に収めるのは無理になっちゃうんですけど…、まぁしかたないね。
メインのゲーム画面だけでも16色に出来れば満足と言うことにしておきます。


実は今回貼った画像、パレットがちゃんとしてなくて、ボタンなどの色味が微妙にずれていたことが判明したので、微調整しないといけなくなりました…見た目的には同じ色だけどRGBの数値としては1くらいずれてたのか、画面内全部を見ると16色超えていたことが判明。
何が原因だかはわかりませんが、色を置き換えるだけなら大した手間じゃないしやるけど、原因分かんないのヤダな。
ちゃんとパレット共通で作ったのになんでだろう、8bit化するときに減色ツールが悪さしたんだろうか…