Stage01のイベント(コード解説編)
Stage01では、Stage01に入った時のイベントと招き猫を倒した時の二つが動きます。 まずはイベントの条件付けを置いているtick処理の部分から見ていきます。 入った時のイベントを"firstEvent"と名付け、主人公がタイルの6に位置し、 firstEventが未だ動いていないfalseの状態の時に、最初のイベントが起こります。 倒したときのイベントを"defeatEvent"と名付け、招き猫のlifeが0且つdefeatEventが未だ動いていない状態の時、このイベントが起こります。 またtick処理の内容上、イベントが上書きされてしまうので都度returnを入れて防いでいます。同時に、イベントをtickから外すことでイベント中にプレイヤーと敵の動きを止めて、イベントが起こったことをプレイヤーに知らせています。 次にeventpaintの内容ですが、グローバル変数にdialogueStepを0として置き、 eventpaint内での進行度を管理するのに使っています。 このイベントでは"handleDialogue(e)"を使って、スペースキーを押すと数値が足されて次のセリフに進むようになっていますが、最初のセリフは自動で始まるようにしたかったのでその中には入れていません。セリフを表示している枠などは"SetContext"関数内で、背景を灰色、文字を白色にして、位置に関しては手入力で地道に調整しています。(この作業どうにかならないものか...)右下に表示している"Skip"の文字は別で"SkipContext"関数を使って表示しています。 これ以降もセリフは続きますが、長くなってしまうので割愛します。以上が簡単な解説です。 これ以降のステージでも同じ様な手順で進めていきます。 という訳で今回はこんな感じで終わります。 裏話をすると、最初のイベント中に「主人公を後ろに向かせて道が塞がっていることを確認する演出」と「最初はほぼ強制的にダメージを喰らい、戦わなくちゃいけないことを示唆する演習」を取り入れようとしていましたが、無事断念しまして今の形に落ち着いた所存です。物語的な導線はほぼ皆無ですが、謎めいた感じは前作も同じなので雰囲気は守れてい...