本稿はBB2021Editor上のイベントシステムのマニュアルです。
一部説明を省略している箇所があることをご了承ください。
BB2021Editor全般の操作は別のファイルをご参照ください。
BB2021ブロック崩しではイベントシステムを実装しており、特定の条件がそろったときに特別な処理を行うことができます。
イベントは以下の3要素から成り立ちます。
イベントが発動するタイミングを表します。トリガーで指定したタイミングで下記の「条件」の判定が行われます。
繰り返し起動にチェックがついている場合、「トリガー」で指定したタイミングが生じるごとに毎回「条件」の判定が行われます。
イベントが発動する条件を表します。条件を満たしている場合に下記の「アクション」が実行されます。
条件を満たさなかった場合、次のトリガーのタイミングで再度条件判定が行われます。
イベントの処理内容を表します。アクションの種類によっては追加パラメータを選択することができます。
アクションには「連続して行うアクション」を指定できるものがあります。指定したアクションは現在処理中のアクションの次に即座に実行されます。
各ステージにおいて、ロードが終了し、ボールを射出できるようになる直前のタイミングを表します。
各ステージにおいて、最初にボールが射出された後のタイミングを表します。
各ステージにおいて、ステージがクリアされたタイミングを表します。
ゲームオーバーになった場合は発生しません。
ステージクリア時のSEが鳴り終わった後に発生します。
一番最後のステージがクリアされたタイミングを表します。
ゲームクリア時のSEが鳴り終わった後に発生します。
ゲームオーバーになったタイミングを表します。
ボール喪失時のSEが鳴り終わった後に発生します。
ボールがゲームエリア外に落ちたタイミングを表します。
ボール喪失時のSEが鳴り終わった後に発生します。
ボールがパドルに衝突したタイミングを表します。
オプションによりパドル中心に衝突した際は起動しないよう設定できます。
ボールがパドルの中心部に衝突したタイミングを表します。
ブロック破壊率が変動したタイミングを表します。
1%刻みです。それ以下の変動は無視されます。
ボールが指定したブロックグループのブロックに衝突したタイミングを表します。
ブロックグループはあらかじめゲーム編集画面で設定してください。
指定したブロックグループのブロックが全て破壊されたタイミングを表します。
ブロックグループはあらかじめゲーム編集画面で設定してください。
イベントアクション「メモリ書き込み」が実行されたタイミングを表します。
アクションの前後でメモリに変化がない場合(同じ内容を上書きした場合)であっても起動します。
詳細は下記のメモリ機能解説をご覧ください。
指定したステージ内でのみ実行されます。
複数のステージ内で実行したい場合、同一内容のイベントを複数作成し、別個にステージ条件を指定する必要があります。
将来的にひとつのイベントで複数のステージを指定できるようになる予定です。
ブロック破壊率が指定範囲内にあるとき、もしくは指定範囲を通過した時に実行されます。
ボールのストック数が指定範囲内にあるとき実行されます。
1回以上ゲームオーバーになっており、現在リトライとしてプレイしている場合に実行されます。
他のイベント条件やトリガーとは異なり、唯一ゲームオーバー前の状態を引き継ぎます。
アクション「メモリ書き込み」によって編集されたメモリの状況に応じて実行されます。
キーと値のそれぞれが完全に一致する場合に条件を満たします。
キーと値のペアは複数登録でき、2つ目以降のペアに関しては論理積(AND、かつ)をとるか論理和(OR、または)をとるか選ぶことができます。
詳細は下記のメモリ機能解説をご覧ください。
ゲーム画面上方中央に指定したアイテムを発生させます。
即座にアイテムの効果を発動します。
プレイヤーを驚かせてしまうため、「テキスト表示」や「メッセージ表示」と組み合わせることを推奨します。
ボールを見えなくします。
プレイヤーを驚かせてしまうため、「テキスト表示」や「メッセージ表示」と組み合わせることを推奨します。
イベントによって非表示状態にされたボールを見えるようにします。
前景画像を差し替えます。
差し替えた画像はゲームクリア後のご褒美ページにおいて、差分画像のひとつとして表示されます。
イベントが実行されなかった場合にはご褒美ページにおいても表示されません。
背景画像を差し替えます。
差し替えた画像はゲームクリア後のご褒美ページにおいて、差分画像のひとつとして表示されます。
イベントが実行されなかった場合にはご褒美ページにおいても表示されません。
指定したサウンドを再生します。
連続して行うアクションはサウンドの再生終了を待たずに実行されます。
指定したSEの内容を変更します。
アクション実行後は永続的にサウンドが変更されます。上書きするためには再度イベントアクションを実行するか、サウンドを指定したステージが開始される必要があります。
ボールのストック数を増減させます。
このイベントではストック数は0より小さくなりません。
プレイヤーを驚かせてしまうため、「テキスト表示」や「メッセージ表示」と組み合わせることを推奨します。
強制的にゲームオーバーにします。
プレイヤーを驚かせてしまうため、「テキスト表示」や「メッセージ表示」と組み合わせることを推奨します。
指定の秒数間隔を空けて次のイベントを実行します。
ステージが進行した場合解除されます。
「タイマーを表示」アクションと組み合わせると有効です。
待機中もゲームは進行します。また他のイベントは実行されます。「連続して行うアクション」にのみ影響があります。
ゲーム画面中にタイマーを表示します。
「○○秒待機」アクションと組み合わせることを強く推奨します。本アクションの次のアクションに「○○秒待機」を設定することで、タイマーで設定した時間になったときに次のアクションが発生するように見せることができます。
指定したテキストをゲーム画面中に表示します。
ゲームの進行を妨げません。
ブラウザの機能を使用してメッセージダイアログを表示します。
ダイアログの表示中ゲームの進行が停止します。
ブラウザの機能を使用して、確認ダイアログを表示します。プレイヤーの選択に応じて次に行うアクションを切り替えることができます。
次に行うアクションだけでなく、キャンセルされた場合のアクションを別個に登録することができます。
実行されてもゲームに影響を与えないイベントです。
現在のページをリロードします。
指定したURLへ強制的に移動します。
フラグ管理用のメモリに書き込みを行います。
キーはメモリの番地を表す文字列です。空文字でも問題ありません。先頭および末尾には空白文字を入れられません。
キーの表す番地にまだ書き込みがない場合、上書モードと追記モードの挙動は変わりません。
既に書き込みがある場合、上書きモードでは値が新しい値に変更されます。追記モードでは元の値の末尾に新しい値をつなげた値に変更されます。
詳細は下記のメモリ機能解説をご覧ください。
メモリは複雑なイベントを実現するためにBB2021ブロック崩しへ導入された概念です。
メモリはイベントシステム以外には影響を一切及ぼさず、またイベントシステム以外はメモリの状態を変更することはできません。 複雑なイベントを必要としない場合はメモリ機能を使用しないことをお勧めします。
メモリの実体は「連想配列」というものになっています。別名として「Dictionary」とも呼ばれます。連想配列は下記のような構造をしています。
{ キー1:値1, キー2:値2, キー3:値3, ... }
特徴としては以下の点が挙げられます。
メモリ機能を使用することで、イベントアクションが実行されたことを記録できるようになります。これにより、いわゆるフラグ管理が可能となります。
例として以下の状況を挙げます。
この状況では、差分画像の変更は以下の順番のいずれかで行う必要があります。そうでないと、表情が赤面から通常に戻るなどの不具合が現れます。
破壊率が50%を超える前に髪留めが破壊されたケース
破壊率が50%を超えた後に髪留めが破壊されたケース
このような処理を行うためにはメモリを使ったイベントを以下のように組む必要があります。