ティラノスタジオV5で作ってるゲーム(V514)をV520にバージョンアップしようとして四苦八苦した話

タイトルの通りでござる。


1.ことのあらまし

 通算3作目を作成中絢芽ちゃん、使おうと思ったプラグインがV520で挙動確認されたもの&V514のままで動いてなさそうまで確認。

 んじゃまあ、V520にあげるべか〜

 これが地獄になるなんて誰が思ったってばよ。




2.そこまでうまくいってたらこの記事書いてないのよ

 というわけで公式での更新手順は以下の通り。

・旧バージョンからのアップデートはindex.htmlとtyranoフォルダを上書きしてください。

V5のページから消えてたからV6のページからhttps://tyrano.jp/dl/v6

 V5のページから記述は消えてたけど、V6の方に書いてあったの拾ってきました。よっぽど仕組み変わらんとここは変わらへんじゃろて……V6はまだbeta版じゃしね。
 ただ、実際に比較するとdata>system>config.tjsの項目増えてたりもしたから、そこも比較して元の設定を反映、反映。
 そしてゴリゴリに直接手を入れたtyrano内のcssやhtmlや画像も反映、反映(glinkのオリジナルデザイン作り方を見れば分かる通り、私はごりごりに力技する女)
 で、すでに作ったものをアップデートしたので、さーてデバッグで動くかな〜。

 結果:first.ksの注意書き+「クリックしてスタート」からクリックしても動かへん……えぇ……(大困惑)




3.なんでや!!ってなるじゃん

 というわけで、まず私がとった行動。
 デバッグモードのコンソールチェーック!
 コンソールチェックは大事だよ。

 結果:うーんエラーみたいなログは出ておりませんなあ……この挙動でマジか……

 ほいじゃらば次の手!
 サンプルゲームプロジェクトをV520に上げてデバッグや!!!
 少なくともこれでサンプルゲームが動けば、サンプルゲームになくて、こっちにある記述がたぶん原因(なお量)

 結果:サンプルゲームさんは無事動きました(んあああああ)

 でも大量の差分記述の内、何が原因かなんて普通コンソールに出る情報で絞るもんだよ!!!
 そのコンソールくんがなんにも出してないよ!!!

 
Q.つまり?
 A.情報なくて詰んだわ……(白目)

 あ、もちろんググってもみたけど、全然見当たりませんでした、同様事例やっぱり情報なくて詰んでる(ヤムチャのポーズ)
 というわけで、しばらく(半月ばかり)更新は塩漬けされた……




4.でも更新したいじゃんね

 でもV520から、なんか、パフォーマンス上がってるとか言うから気になるじゃんね。バリクソ気になるじゃんね!

 というわけで塩漬けの封を解き、再チャレンジ
 じっくり、ゆっくり、心の中で指差し確認しながらいろいろとチャレンジ。

 まあ、でもさ、こういうのって、何度やっても再現性はあるから……結果は変わらへんかったわけです。
 「でもサンプルゲームは動くんだから!」サンプルゲームと舐め回すように比較
 これが光明となった




5.犯人は意外なところに

 まずfirst.ksを比較して、「文字書いたのがあかんのか?(んなことあらへん気もする)」と思ってfirst.ksに書いてた注意書き+「クリックしてスタート」をtitle.ks冒頭に移動して、デバッグぽちー。

 結果:……画面真っ黒のままなんやが!?

 というわけで最大のヒントが来ました。

 さて、これがなぜ最大のヒント、かというと、プログラミングの基本としては対象関数(ティラノ的にはラベル開始~[s]または[retuen]まで、[macro]~[endmacro]までと考えてよい)の内部を上から順に処理して、次の処理があったらそっちへ移行(ティラノ的には[jump])するのです。

 今回の場合、文字周りの処理は全部title.ksに移動させたから、first.ks内にクリックが必要な待ち処理はなくなってるので、この状態なら、自動でtitle.ksに進んで文字が表示されるはず!(文字表示自体はできててクリックで進まなかったので)
 それなのに画面真っ黒ということはfirst.ksで止まってて、文字表示以外の処理でなんか起きてて、これ以上進まないんだ!!!

 ということになります。わかりにくいので並べて書いてみた↓。

試行錯誤前の処理の並びと試行錯誤時の処理の並び(赤が変更点と本来こう動くよってとこ)

ところがどっこい、試行錯誤時のtitle.ksの「クリック待ちで止まる」まで行かずに止まってる時点で、試行錯誤時の「2.title.ksにジャンプ」が行われてなくて、「1.プラグインとかの読み込み」で止まってるってわけ。

 ほな、first.ksでの処理なんて限られますからな。
 プラグイン読み込みとそれ以外はちょっとしたティラノのスクリプトタグ。
 ……こうなってくるとプラグインが怖いわね、からの実際プラグイン読み込みが犯人だったあ!
 ※なお、プラグイン作成者様に非は一切ないし、どちらかというと私の怠慢




6.知ってたけど放置した私の怠慢っちゃ怠慢のせい

 えーと、実は該当プラグインさん、更新されててえ……
 私は前の二作目で作った時の古いのをそのまま持ってきててえ……
 そもその二作目で「これできないかな?」みたいなのを調べた時に、「あれ? 効かないな? あにゃ、プラグイン自体が更新されとるんか」ってなったんでえ……
 そのプラグイン……hororoさんのバックログプラグインさん更新されてるのは知ってた
 けど、プラグイン自体は更新せずそのままにしてたんですね(白目)(ごべんなさい!!!)

 なお、hororoさんの最新版バックログプラグイン導入はこちらから(見た目がしっかり整うので好き)

 というわけで最新版のバックログプラグインさん当てたら、無事にV520で動いたああああああ!!!

教訓:プラグインの対応ティラノバージョンと使うティラノバージョンはしっかりすり合わせようネ(情報がなくても、プラグインの最新版取ってくるぐらいはしよう)

 で、ネットにも同じ事象が転がってなくて、私は七転八倒苦しんだのでここに刻む……
 私のこの孤独な奮闘が、あとから来る誰かの肥やしになれば良い……谷山浩子さんの「ひとりでお帰り」の歌詞のごとく、誰かの孤独な奮闘の夜を照らすささやかな灯になれればよい……
 ネットの海にも情報がなくて、比較対象ボリューミーだと、最初にやったみたく、もう塩漬けするしかなくなるから……




7.それはそれとしてメッセージウィンドウ周りで場外乱闘が発生した件

 無事V520で動くようになった(てってれー)
 が、なんでか、メッセージウィンドウの画像の表示が薄い
 V514では、んなことなかったので、いろいろあーだこーだ試した結果、

  config.tjsの;frameOpacityの設定値


のせいでした……最大値の255設定したら無事にちゃんと表示された(ぜーはー)
 config.tjsの該当部のコメントだと「画像の場合無視されるよ!」って書いてあるけど画像にも有効みたいです。
 かの、ティラノ用プラグインをたくさん世に出しているさくたさんも以下の記事の該当部で「有効だった気がする」と仰ってますが、苦しめられた経験者は「有効でした」と宣言します

 というわけで、どっとはらい。はなしはおしまい。

いいなと思ったら応援しよう!