CreatorsOk
ひつじ🐏おやすみ毛布
ひつじ🐏おやすみ毛布

fanbox


[ゲーム制作/ティラノスクリプト]探索箇所選択画面を作る

 ゲーム制作のお勉強を共有する記事第二弾です。


 今回は、お屋敷の中の探索箇所を選択する画面を作っていきます。




❖やりたい事


1.マップ上に選択ボタンをちりばめる。

2.ボタンにマウスを乗せると説明が出る。

3.ボタン以外の所を押すとランダム会話ができる。




❖とりあえず完成画面


 上記のやりたい事を実装したのがこちら。

ゲーム探索画面


 できているのでは……?


 それでは、ここに至るまでの過程を書いていきます。




❖1.マップ上に選択ボタンをちりばめる


 これはシンプルに[button]タグを使います。

 背景画面を準備しておいて。



 その上に……。



 こういうの。


[button name="ボタンの名前" storage="ジャンプ先" graphic="ボタン画像" enterimg="マウスオーバー時のボタン画像" x="横位置" y="縦位置" fix="true" ]


 を並べています。やりたい事2を実現するために、nameが必要です。やりたい事3を実現するために、ジャンプ先に別ファイルを指定する必要と、fix="true"を指定する必要があります。それぞれの項目で説明します。




❖2.ボタンにマウスを乗せると説明が出る

 

これはプラグインを使わせていただきます。


【buttonタグ機能補助プラグイン】

(frame embed)



■できること

・ボタンにマウスオーバー時、フェードしながらボタン画像切り替え

・ボタンにマウスオーバー時、ツールチップとして任意の画像を任意の位置に表示

・ツールチップ画像をアニメーションしながら表示/非表示

・任意のJS式がtrueのとき、ボタンを無効化

・ボタンの透明度に応じて操作可不可を選択可能


 必要な機能みんな揃ってる!

 基本タグ[button]と補助プラグインタグ[button_ex]に同じnameをつけることで、補助を紐付けられます。



 説明画像を用意しておいて、これが特定の場所に表示されるようにします。




[button name="ボタンの名前" storage="ジャンプ先" graphic="ボタンの画像" x="横位置" y="縦位置" fix="true" ]

[button_ex name="ボタンの名前" tip="説明画像" tip_pos="static" tip_x="説明画像の横位置" tip_y="説明画像の縦位置" ]


 上記のように書くと、ボタンにマウスを乗せた時に説明画像が任意の場所に出ます。それぞれのボタンの説明画像が同じ場所に出るようにしておけば、情報が切り替わっていくように見えます。


 


❖3.ボタン以外の所を押すとランダム会話ができる


 まず、ティラノスクリプトのボタンタグというのは出すと基本的にゲームがストップします。会話が進んでいる状態というのはゲームが進行している状態なので、ボタンが出ていてもゲームが進むようにしないといけません。


 ここでfix="true"を使います。fixボタンというのは、メニューボタンのようなゲーム進行中にもずっと画面に存在するボタンです。fixボタンにするためには、[button]タグにfix="true"を入れます。


 とりあえずこれさえ指定しておけば大丈夫だろうと思って最初に実装した時には、選択に戻ってきた時にもう一度ボタンを押す事ができなくて困りました。

 そこでfixの解説を読みに行くと……。


----------

fixにtrueを指定した場合は別のstorageのtargetを指定して、そこにボタンが押されたときの処理を記述する必要があります。

----------


  これか。

 ということで、targetだけで同一ファイル内でシナリオを進めて、もう一度targetで戻ってきてしまうとうまく使えないようです。storageで別ファイルに飛んで、そちらのシーンが終わったら選択に戻ってくるという形でシナリオを作ります。なぜなのか仕組みは知りません……AUTOのfixボタンとかずっと同じ画面上で動作してる気がするんだけど……。



 ここまで来たらボタンがいい感じに配置され、マウスオーバーで説明が表示され、後ろで勝手にシナリオが進んでくれています。





 最後の目標、ランダム会話のために乱数を取得したいのですが、こちらもシンプルに記述できるスクリプトを公開している方がいらっしゃったので使わせていただきます。

(frame embed)



[intrandom var_name="ランダム値を入れる任意の変数" min="最小値" max="最大値"]

 これを記述するだけで任意の変数に最小~最大の幅のランダム値を入れる事ができます。簡単!

 そして、ボタン関係の記述の下に以下のコードを記述します。


----------

*kaiwakaishi


[intrandom var_name="tf.hensu" min="1" max="4"]


[if exp="tf.hensu == 1" ]

「これは乱数で1が出た時のセリフ!」[p]


[elsif exp=tf.hensu == 2" ]

「ここが2が出た時のセリフ」[p]


[elsif exp="tf.hensu == 3" ]

「3のセリフ」[p]


[elsif exp="tf.hensu == 4" ]

「4」[p]


[endif]


@jump target=*kaiwakaishi

----------


 これで、1~4の間でランダム値を取得し、出た値によって表示される会話が決定。[p]でクリック待ちをしているので、クリックをすると@jumpによって*kaiwakaishiに戻り再度ランダム値を取得、出た値の会話を表示。という動作になります。

 ちなみに今回私が作った人狼×吸血鬼ゲームでは20個のセリフがあります。この場合、maxを20にしてifを20まで記述していけばOKです。




 ❖以上!


 これで探索箇所選択画面が作れました!

 実際にはSEをつけたり、クリックした時にフラグを立てたりと、細かい作業もしていくのですが、基本的な動作はこれで完成です。

 普通の選択肢でも良いのですが、ちょっと味気なかったのでマップ上選択ボタンとお喋りギミックを作ってみました。これだけでゲームらしさがぐっと上がる気がします。良かったら作ってみてください。


 ゲーム本編はまだ完成していないのですが(あとはスチルのカラーだけ……)β版を有料記事で出しています。完成後は無料公開する予定なので是非遊んでいただければ幸いです!

www.fanbox.cc
https://www.fanbox.cc/manage/posts/5074068




 それでは今回は以上です。ご覧いただきありがとうございました!


[ゲーム制作/ティラノスクリプト]探索箇所選択画面を作る [ゲーム制作/ティラノスクリプト]探索箇所選択画面を作る [ゲーム制作/ティラノスクリプト]探索箇所選択画面を作る [ゲーム制作/ティラノスクリプト]探索箇所選択画面を作る [ゲーム制作/ティラノスクリプト]探索箇所選択画面を作る

More Models and Creators