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

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

レイヤーの重なり順の謎

ティラノのレイヤーは以下のようになっています。

base:背景

layer0:

layer1:

layer2:

layer3:

layer4:

layer5:
message0:テキストウインドウ
message1:
message2:

fixレイヤー:glinkやbuttonに使われる。(ボタンより上に画像表示させたいときは、画像をボタンとして表示させることで対応。公式のサンプル10_fixbutton.ks)

 

背景が一番下にあり、画像用のレイヤーがその上、さらに上にテキスト用のレイヤ、そしてボタン用のレイヤという順です。

(ボタン用のfixレイヤーが最前面にあるため、その上に画像や文字を表示させることができない件と、その解決法は前回書きました)

テキストウインドウの上にキャラを表示させたい時などには、messageレイヤに画像を出せばいいとwikiで拝見しました。

そこから、単純にmessageレイヤはlayer5などの通常レイヤの上に来るレイヤなのかと思ったのですが、違ったようです。

たとえばlayer5にptextで文章を表示させ、その上にかぶるようにmessageレイヤの画像を表示させるとこんな感じになります

f:id:fuwafuwaso:20181007030704p:plain

下にあるはずのlayer5の文章が、messageレイヤの画像の上に来てしまいます。

何が何だかわからなくて悩んだのですが、messageではなく、layer6を使ったら、layer5の文章の上にちゃんと画像が来てくれました。

 

そこから想像したのが、以下のようなレイヤの仕組み。

画像同士の重なり順は layer0<layer1<layer2<messageという順になっています

ところがptextで文章を表示させると

layer0の画像<layer1の画像<layer2の画像<messageレイヤの画像<layer0のテキスト

と、こんなふうになっているようです。

検証不十分なので、あくまで「こんな感じかなあ?」という想像で、

他に何か間違ってる可能性もあるのですが…。

個人的教訓として、

「ptextの文章の上に画像を表示させたければ、ptextに使ったレイヤーよりも数字の大きいレイヤーを使え。messageレイヤに画像を置いてはだめ」

ということが分かりました。

そもそも、messageレイヤはテキストウインドウの画像と文章を表示させる想定にしかなっていないのかもしれません。

 

 文字色の指定の謎

[font]で 0xRRGGBB 形式で文字色を指定することができる、とリファレンスにあります。

ところが、#RRGGBBでも指定することができます。

普通に表示されるので、自分は#RRGGBBを使っていました。ところが、たまたま0xRRGGBB で指定してみたところ、#RRGGBBと色が違うのです。

リファレンス的に正しいのは0xのほうなので、「#でも表示できるけど正しくない色になる」、ということでしょうか?

 #RRGGBB形式のnscripterからの移植なのでたまたま気が付いたのですが・・。

 #RRGGBB形式のスクリプトから移植するときには注意ですね。

 

 

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^

 

 

 

 

 

 

 

 

 

ゲームのレベルデザインを学びたい

ゲームを面白くするにはどうしたらいいのか?

ということを悩みました。

ゲームの面白さ=難易度=レベルデザインかな?

と思いまして、そういったジャンルと思われる本をいろいろ読んでみました。

 

「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック

「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック

 

ゲーマーなら何となく知ってるかなということを、幅広く文字で起こして整理したような本。

レベルデザインについてはあまり書いていません

アクションやFPSのマップの作り方、ディズニーランドから学ぶステージの作り方などはなるほどという部分がありました。

 

ゲームデザイン脳 ―桝田省治の発想とワザ― (ThinkMap)

ゲームデザイン脳 ―桝田省治の発想とワザ― (ThinkMap)

 

 とてもおもしろかったです。

万人向けに自分の創作ノウハウを体系づけて語るのは無理なので、編集者個人に向けて書いた~というスタンスで書かれています。

そのせいかとても濃いです。

「レベルアップのゲームデザイン」の正反対に、狭くて深い個人的なノウハウが書かれています。

レベルデザインについては俺屍の記述がおもしろかったです。

 

組み立て×分解! ゲームデザイン ――ゲームが変わる「ルール」のパワー
 

とてもおもしろかったです。

レベルデザインについては扱っていません。

しかし、自分の知りたかったのはレベルデザインではなく、それ以前の「ゲームデザイン」だったのでは!? と気づきました。

既存にないジャンルとかゲームシステムを作るときや、既存のジャンルとかシステムを改造してオリジナルのものをつくるときに、どうやったらおもしろくなるのか? ということが書かれています。

最初に読むべき一冊と思いました。

 

遠藤雅伸のゲームデザイン講義実況中継

遠藤雅伸のゲームデザイン講義実況中継

 

 読んでる途中ですが、これは完全に買ってよかったと思った本です。

表紙の見た目で新書かと思ったんですが、全然違ってボリュームたっぷりです。

 レベルデザインについても章がありますが、マップ配置とかそういうアプローチではなく、時間とか確率からの解説がされています

電書が9/6まで999円になっているので、買うなら今という感じです。

kindleにはセール期間書いてないですが、たぶん他サイトと同じはず・・。

 

ゲームメカニクス おもしろくするためのゲームデザイン (Professional Game Developerシリーズ)

ゲームメカニクス おもしろくするためのゲームデザイン (Professional Game Developerシリーズ)

 

これは買ってもいないし読んでもいないのですが、すごく面白そうなのでいずれ読みたい本です。