フワフワソが「ソラとピヨちゃん」や「宮本県」を作るブログ(フワフワソ・ラウンジnew!)

ラノベとテクノを愛するふわふわがノベルゲームを作っています。あと日常のことやイベントの告知なども。スクリプト関連の記事は自分用の備忘録です

glinkとbuttonのトラブル解決法

一か月ぶりにティラノを触ったら自分が何のトラブルを抱えてたのか忘れてしまいました。

そこで過去記事を参考に思い出しました。

ブログは本当に自分用に必要ですね・・。

fuwafuwaso.hatenablog.com

で、このトラブルの続きです。

glinkの挙動が不安定なのでbuttonで選択肢を出すことにしました。

方法としては、buttonで選択肢の背景を表示させ、その上に別なレイヤーで選択肢の文字を表示させる。

それでできると思ったのですが、できませんでした。

buttonのグラフィックが出るレイヤーは、glinkと同様に、最前面のレイヤーに固定なのです。最前面ということは、その上にimageやmessageのレイヤーで文字を表示させることができません。

困った・・。

そこで解決法。

buttonのグラフィックを透明にします。

その下に、buttonで使いたかった選択肢の背景と、選択肢の文字を、imageやmessageのレイヤに表示させます。

これでOKのはず・・。

 ↓

やってみたら大丈夫でした。

f:id:fuwafuwaso:20181006191952p:plain

文字の選択肢をbuttonで表示している画面。

さらにtipsもbuttonで表示させています。tipsの文章は画像ではなくptextで表示。

「buttonで表示」と書きましたが、半透明の画像も文章も、実際はimageとptextで表示させています。その上に「同じ形に作った透明のpng画像」を重ねてbuttonとして機能させています。

 

――と、ここまではうまくいったのですが、

ところが新たな問題。buttonの画像が重なると、反応するのは「最後に表示させた」=「最前面にある」buttonのみです。

上記の画像のように、選択肢を表示させつつ、tips画像を常駐で置いて、ユーザーの任意で開いたり閉じたりさせたい場合、表示のタイミングでボタンの優先順位がぐちゃぐちゃになってしまいます。

つまり、tipsは常に最前面に表示させたいのですが、tipsを表示させたまま新しい選択肢が出ると、tipsが選択肢の下に来てしまいます。

 

buttonのレイヤーが一個しかないのでこうなってしまうんですね・・。

解決法としては、「選択肢が新たに表示されたら、そのときにtipsが表示されているかどうか判定して、tipsが表示されている場合、tipsのbuttonを表示し直す」、という方法を考えました。これからやってみます。

 

kanimmacroプラグインは便利!

ティラノスクリプト:キーフレームアニメ補助プラグイン - ティラノスクリプト用プラグイン

画像にちょっとしたアニメ効果をかけるために導入させていただきました。ありがとうございます。

[start_step name="exit" time=1000]

こんなタグを書くだけで"exit"と名前の属性を書いた画像や文章ボタンが一緒に動くので便利です。

ティラノの仕様なのかプラグインの仕様なのかわかりませんが、レイヤーの指定をしなくてもいいんですね。複数のレイヤーや、[button]までもが同じ名前にしておけば一緒に全部動きます。

すばらしいプラグインです^o^