モニスクレシピ_ストーリーの進行管理
公開 2025/09/25 21:24
最終更新 2025/09/26 23:46

ストーリーの進行管理

ストーリー進行用の変数を用意しておく #

単発のイベント(アイテムを持ってると道が通れるとか)ではアイテム所持を判定してメッセージ等を変えれば済みますが、マップ全体で一つのストーリーを進めるような場合には進行段階を管理する変数を用意しておくと管理が楽そうです。

ロード時のスクリプトで初期設定
[var:story_phase 0]

モブやアクションポイントのスクリプト(例)
[if var:story_phase = 0]
	//初期状態のセリフ等
	あの道、前は通れたんだけど今は岩で塞がってるんだよね
[elseif var:story_phase = 1]
	//ストーリーが1段階進んだ時のセリフ等
	岩どかしてくれたの!?ありがとう
[elseif var:story_phase = 2]
	//ストーリーが2段階〜
	道は通れるようになったけど魔物が入り込むようになっちゃった
[elseif var:story_phase = 3]
	//〜3段階〜
	おかげで平和になったよ!
[endif]

ストーリーが進むポイントで
[var:story_phase 1]
など設定していけば、所持品や他のフラグの状態を参照して進行を管理するより分かりやすいかなと

ストーリー内の連続イベント #

ストーリーの同段階のなかで連続性のあるイベントを入れたい時はそれを管理する変数も追加で設定しておくといいと思います。
例[var:event_1_phase 0]
アクションポイントではこんな感じに
[if var:story_phase = 0]
	//ストーリー初期状態
	[if var:event_1_phase = 0]
		//イベント1_初期段階
		あの道、前は通れたんだけど今は岩で塞がってるんだよね
	[elseif var:event_1_phase = 1]
		//イベント1_1段階目
		魔法使えるの?岩をどかす魔法とかないかな…
	//以降必要なだけ条件追加
	[endif]
//以下省略
[endif]

連続会話イベント #

複数のキャラやモブのメッセージが交互に更新されるような場合には、メッセージが更新されたキャラの上に吹き出しを表示すると続きがあることが分かりやすそうです

移動するタイプのモブには今のところ使えませんが

//キャラ1のスクリプト
[if var:event_2_phase = 0]
	//イベント初期時のセリフ
	キャラ2が何か知ってるらしい
	//イベントを進める
	[var:event_2_phase 1]
	//キャラ2の上のマスに吹き出しを表示
	[var:app_map_layer_front_set 48,3,2]
	//キャラ1の吹き出しを消す
	[var:app_map_layer_front_clear 5,7]
[elseif var:event_2_phase = 2]
	//以降必要なだけ繰り返す
[endif]
//キャラ2のスクリプト
[if var:event_2_phase = 0]
	//イベント初期時のセリフ
	...
[elseif var:event_2_phase = 1]
	//イベント1段階目のセリフ
	いやいや僕は何も知りませんよ
	//イベントを進める
	[var:event_2_phase 2]
	//キャラ1の吹き出しを表示
	[var:app_map_layer_front_set 48,5,7]
	//キャラ2の吹き出しを消す
	[var:app_map_layer_front_clear 3,2]
[elseif var:event_2_phase = 3]
	//以降必要なだけ繰り返す
[endif]
吹き出しのインデックスと座標は自身のマップに合わせてください。
上の書き方のままだと各セリフを1回づつしか話さないので必要に応じて条件を
[if var:event_2_phase < (次に自身が喋るフェーズ)]
などに調整してください。
この場合は相手の話を聞くまで現在のセリフを繰り返します(そのはず…)
スゲーでっかいカエル
プロフィールページ
スゲーでっかいカエルです。javascriptでゲームを作ったりします。
最近の記事
モニスクレシピ_ストーリーの進行管理
ストーリーの進行管理 ストーリー進行用の変数を用意しておく # 単発のイベント(アイテムを持ってると道が通れるとか)…
2025/09/25 21:24
モニスクレシピ_定期的に復活する設置アイテム
一定時間で再取得可能になるアイテムのスクリプト 前記事の↓複数個取れるアイテムのスクリプトを流用します https://simb…
2025/09/24 08:40
モニスクレシピ_所持アイテムの消費表現
画像のように特定のアイテムを情報ボックスから消す方法 単純に[var:app_message_info アイテム名]とやってしまうと、どの…
2025/09/23 11:15
ツクセカ用モニスクレシピ
自分のマップで使ったモニスクのメモ。 もっと効率が良い方法もあると思いますので参考程度に。 間違いあったら教えてくだ…
2025/09/22 08:45
約5秒後に特定のマスのタイルを消すスクリプト(モニスク)
判定から5秒後に(0,0)(0,1)(0,2)(0,3)(0,4)のタイルを消す # 前面レイヤーを消すスクリプトになってるので任意で変更してくだ…
2025/09/10 12:39
hokug使ってみる_スプライトシートでフレームアニメーション
hokugで用意されているBlockクラスを使ってフレームアニメーションしようとすると、1コマにつき1画像ファイル使うので凝った動…
2025/08/06 22:18
hokug使ってみる_ツクセカのマップを利用する
ツクセカは2Dマップを作成して公開したりみんなで遊べたりするサービスです。 https://tsukuseka.com/ これで作ったマップ…
2025/08/04 22:26
hokug使ってみる_メモ3(Blockクラス)
hokugのBlockクラスについてメモ プロパティ # プロパティ:初期値 x:0 //x座標 y:0 //y座標 width:0 //幅 height:0 //…
2025/07/31 20:40
hokug使ってみる_メモ2(メソッド)
hokugのメソッドをメモ メソッドはオブジェクトが持ってる関数です。 今まで使ってたhokug.drawText() とかそういうやつ …
2025/07/29 23:25
hokug使ってみる_メモ(game.js)
前回までの記事まとめ 1)https://simblo.net/u/Nz7RmE/post/453297 2)https://simblo.net/u/Nz7RmE/post/457242 3)https://s…
2025/07/28 21:25
hokug(ホクジー)使ってみる_5
前回記事 https://simblo.net/u/Nz7RmE/post/463575 今回は画像を使ってみます。 ゲーム画面で画像を表示する # 画像の…
2025/07/27 18:05
hokug(ホクジー)使ってみる_4
前回記事 https://simblo.net/u/Nz7RmE/post/460515 今回はゲームっぽい要素を入れていきます。 今まで文字を動かしてい…
2025/07/26 13:25
hokug(ホクジー)使ってみる_3
前回記事 https://simblo.net/u/Nz7RmE/post/457242 前回の作ったファイルに続けて書き込んでいく感じになります。 今回は…
2025/07/24 14:51
hokug(ホクジー)使ってみる_2
前回記事 https://simblo.net/u/Nz7RmE/post/453297 前回の終わりで「次は条件分岐やループだ」と言ったがあれは嘘だ。 …
2025/07/22 18:31
hokug(ホクジー)使ってみる_1
hokug? # タイッツー開発でお馴染み「ほく」さんが開発したゲームエンジンです。 クソゲーが簡単に作れるらしいです。JavaScr…
2025/07/22 06:48
カエルマップエディタおまけの使いかた
↓基本的な使いかた https://simblo.net/u/Nz7RmE/post/363809 ↓少し高度な使いかた https://simblo.net/u/Nz7RmE/post/36904…
2025/05/22 14:39
カエルマップエディタのちょっと高度な使い方
基本的な使い方はこちら↓ https://simblo.net/u/Nz7RmE/post/363809 おまけのつかいかた↓ https://simblo.net/u/Nz7RmE/po…
2025/05/22 12:36
カエルマップエディタの簡単な使い方
なにそれ # https://sdkaeru.com/tilemap/ これです。タイルマップエディタってやつです。 ↓ちょっと高度な使いかた http…
2025/05/20 00:11
もっと見る
タグ
hokug(10)
javascript(10)
ゲーム制作(10)
MorningScript(4)
ツクセカ(4)
モニスク(4)
もっと見る