1.イベントの会話範囲に自機が入っているか判定
crashToLineを使って、自機とイベントが一定のエリア内にいるかどうか調べます。
エリア内にいれば、Zキーを押したときに会話処理を行います。
詳細は下図を参照してください。

2.会話処理
・messageファンクションを作って会話処理を行っています。
文法 : message(テキストメッセージ , 文字表示スピード)
※文字表示スピードは省略可能で、省略した場合、最速(ウェイトなし)で表示を
行います。
・まずウインドウを表示します。ウインドウは、位置によっては自機やイベントを隠して
しまうので、できるだけ重ならないように自機位置によってウインドウ表示位置を
変えています。最初に塗りつぶしの白い四角を描き、その後に、少し小さな黒い
塗りつぶし四角を描いて作成します。
・メッセージ表示させる文字列を、先頭から順番に1文字づつ、最後まで読み込んで
いきます。先頭を固定して、1文字づつ増やした文字列を作り、これを同じ場所に
表示していきます。たとえば、メッセージ表示させる文字列が、”こんにちは”であった
場合、順に以下のような表示を行います。
こ → こん → こんに → こんにち → こんにちは
・メッセージ表示が終了したら、Zキーが押されるまで待機します。
Zキーが押されたら、$panel.clear()でウインドウを消去し、メッセージ表示ルーチンを
終了します。
3.会話中の自機の制御
messageファンクションに入る前に、$Mychar.pause=1;で自機の動きを一旦止めて
います。会話中にキー操作で自機が動き回るのを防止しています。
会話終了時点で自機ポーズを解除します。
|
|
|
|