今日は…テラメリテールのシステム的なところをず――――っとやってました。 もうあまりにできなくて己のアホさと頭の足りなさにむなしくなってくるレヴェル。

サンズとパピルスが会話するシーンまでやってきたので、そこをどうしたもんかなとずっと考えていました。 「名前(改行)メッセージ」という風に表示しようかと思ったんだけど、やっぱり顔グラフィックがあったほうが分かりやすい。

「顔 メッセージ」という形式です。誰の発言かが一目瞭然だし、名前で一行無駄にしない。

というわけで顔グラフィックを作成。だけどそれだけじゃなくて、顔グラフィックを表示させたら 今までの処理だと顔にテキストがかぶってしまうのでテキストは右に移動してもらわないといけない。

…が、顔が表示されないメッセージ(物を調べたときのテキストなど)も大量に存在しているので、 顔が表示されるときだけテキストの位置を右にずらすという処理が必要。

それはちょっといじったら意外にもできました。しかし今度それで会話を表示してみたら、 サンズもパピルスも同じ位置に顔が表示されるもんだからなんか変。

UNDERTALEではパピルスの顔は右に表示されるのでサンズと話しているシーンはちゃんと会話しているように見えるのです。 …でも、パピルスだけ顔を右に、とかって一体どうやるのがスマートなんだ…??

そして風呂で考えた結果、「顔判定」という別のコモンイベントを作ることにし、 そこで全ての顔グラフィックを判定することにしました。

つまり、パピルスの顔(表情によってパターンがある)だけは右側に表示され、 その際はテキストの左の空白は必要ないのでテキスト表示位置は通常のものを調べたときなどのメッセージと同じでいい。

パピルス以外の顔のときは顔は左に表示され、テキストの左側には空白ができるようにする。 顔グラフィックを表示しないときは、テキストの表示位置は通常通りでOK。

というのがめちゃ苦労した。ってかもう今日はできないんじゃないかと思うぐらいできなかった。

一度顔が表示されたらメッセージウィンドウが一度閉じられるまで顔の位置が固定されてしまったり、 テキストの位置が変わらず顔と見事にかぶったり、 顔グラフィックがあるときはまともだが通常メッセージを出すとウィンドウが出ないとか、まあ致命的なエラーの嵐。

メッセージの表示はウディタに最初から入っている「基本システム」を使っているんだけど もはや原形をとどめないほど現在は改造されており、だけど中途半端に分かってないので どうしてこんなことをする必要があるんだろう?と思いつつもただ残してある行とかもいっぱいでした。

つまり全体を把握してない、原理を分かってないのに改造しているという非常にお前なにやってんだ大丈夫か状態であり、 あれ消してこれ移動してと試行錯誤を繰り返し、いらないんじゃね?と思った処理は消しまくり、 その都度テストプレイを繰り返し…先ほどついに、思ったとおりの動きをするようになってくれたんだ…!

顔グラフィックを表示するときはテキストの位置をずらす。ある顔グラフィックは左側へ、 ある顔グラフィックは右側へ表示し、それに応じたテキストの位置にする。

…こんな、非常にシンプルなことなんだけど、元からあるプログラムがマジでなにしてんのか分からなかったので ウルトラ四苦八苦したのであった…でもこれでやっと先に進めるぞ…。



そしてここからは朝に書いた分。出かける直前に一度試しに動かしてみたら、 ほとんどいい感じに表示されはするんだけど高速で物を調べるとメッセージウィンドウが出ないことがある。はいバグぅ〜。

…だがもうマジで着替えて行かないとマイクタイソン・タイムアウト!!なのでいってきまし。 もはやたまにウィンドウが出ないのは仕様ということにして進めるか…?いやんなアホな…。

2019年5月4日
◆目次に戻る◆






inserted by FC2 system