ごいしはまぐり

ノベルゲーム制作サークル「ごいしはまぐり」紹介の他、映画紹介やティラノスクリプト等、メンバーの記事を寄せ集めています。

ティラノスクリプト

ティラノスクリプト備忘録48
[mask]を使ったメニュー表示

投稿日:2020年12月20日 更新日:



今回の備忘録はティラノスクリプトのタグ[mask]を使用した
開閉するようなメニューの表示方法についてです。
まずは動画と実際に使用しているコードをご覧ください。
動画は「テニスのポンチ様」より。



実際の動作とコード

メニュー表示と各ボタンの動作
[cm]
[mask effect="fadeInRightBig" color="0xFFFFFF" time=800]
[layopt layer=message0 visible=false]
[clearfix name="menu_button1"]
[button name="menu_button2" target="*game" graphic="button/menu.png" x=1200 y=10]
[layopt layer=3 visible=true]


;セーブボタン
[button name="role_button" role="save" graphic="button/save.png" x="1125" y="120"]

;ロードボタン
[button name="role_button" role="load" graphic="button/load.png" x="1125" y="200"]

;オートボタン
[button name="role_button" target="*autostart" graphic="button/auto.png" x="1125" y="280"]

;スキップボタン
[button name="role_button" target="*skipstart" graphic="button/skip.png" x="1125" y="360"]
[mask_off  effect="fadeOutLeftBig" time=800]
[s]

*autostart
[autostart]
[jump target="*game"]

*skipstart
[skipstart]
[jump target="*game"]

;ゲーム本編に復帰
*game

[mask effect="fadeInRightBig" color="0xFFFFFF" time=800]
[clearfix name="role_button"]
[clearfix name="menu_button2"]
[cm]
[layopt layer=3 visible=false]
[button name="menu_button1" fix="true" storage="menu.ks" graphic="button/menu.png" x=1200 y=10]
[layopt layer=message0 visible=true]
[mask_off  effect="fadeOutLeftBig" time=800]


ゲームを一時停止するタグ[sleepgame]と復帰する[awakegame]を
使おうと思いましたが、一時停止すると
オートやスキップが出来なくなるため使用しませんでした。
ゲームを止めるのには[s]を使用しています。

2行目の[mask]タグで幕を出して、幕を出している間(3~19行目)で
ボタンの配置やメニューボタンの切替(4~5行目)を行っています。

メニューボタンの切替はゲームプレイ時はメニューを表示する機能、
メニュー表示時はゲームに戻るためのボタンになります。

21行目の[s]でメニューを表示している状態を維持して、
再び右上のメニューボタンを押すと*gameにジャンプして
[mask]して元の画面に戻していきます。

ここでもメニューボタンの切替を行い、
メニューボタンをメニューから復帰するボタンから
メニューを開くボタンに切り替えています。





欠点も…

このメニュー表示をする欠点としてはメニューを表示した後に
ゲームに復帰するとコードが1行進んでしまうこと。

選択肢を出して[s]でストップしている状態で
メニューを表示すると[s]の次の行に進んでしまいます。

なので、選択肢部分は以下のようにします。

;選択肢
*sen1
[glink target="s1-1" text="電話する" size=30 width="500" x=330 y=200]

[glink target="s1-2" text="電話しない" size=30 width="500" x=330 y=320]

[s]
[jump target="*sen1"]

*s1-1

[layopt layer=message0 visible=true]
(いや拷問かよ まあ会って言われるよりいいか)[p]

2行目に選択肢のボタンを表示する前にラベルを置いて、
[s]の1行後にラベルを表示するところに戻します。

これで選択肢のボタン表示を維持する[s]がメニュー表示後、
1行進んでしまってもジャンプタグになります。
選択肢表示にジャンプされるので、
選択していないのに先に進んでしまう…ということが起こりません。

ちなみに[sleepgame]を使用したときは1行進むということは起きませんが、
メニューでのオートやスキップを捨てることに…
もしかしたらいい方法があるのかも知れませんが、
詳しい方いらっしゃいましたら教えてください!



以上となります。
メニュー表示は汎用性が高いので色々自分でも使いまわしていこうと思います。



それではまた!



ごいしはまぐりではブラウザでプレイできるノベルゲームも制作しております。
作品一覧はこちらです。

-ティラノスクリプト

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

ティラノスクリプト備忘録40
マクロに値を渡す

 今回はティラノスクリプト[macro]タグで変数を渡す方法についてご説明します。 [macro]タグは繰り返し同じようなタグの組み合わせを使用しているときに使うとコードが短くすることが出来るので制作 ...

ティラノスクリプト備忘録35
カメラ拡張導入覚え書き

 こんにちは! 今回は少しニッチな内容ですが、てんぷらたべたいさんのカメラ拡張2についての覚え書きです。 「思ひ出のラプソディ」ではカメラを使用しているのですが、てんぷらたべたいさんのカメラ拡張2も使 ...

ティラノスクリプト備忘録27
パッケージング

 こんにちは!今回はゲームとして配布するときの「パッケージング」についてです。 パッケージングする簡単な方法は「ティラノライダー」を使う方法だと個人的には思います。そこで、ティラノライダーでのパッケー ...

ティラノスクリプト備忘録8
画面サイズを変える

ディスプレイの解像度やアスペクト比はなかなかどうして変わっていくもので、4:3、16:9、16:10とPCやタブレット、スマホ、更に機種によっても違います。現在のトレンドは16:9でしょうか…今回は解 ...

ティラノスクリプト備忘録42
ボイス再生マクロ

 前回に引き続き今回も実用的なマクロを紹介します。 紹介するのは「ボイス再生のためのマクロ」です。 ボイスはただ[playse]タグを使うのではなく、いろいろなタグを組み合わせてようやく実用的なものに ...

アーカイブ