[前へ] [目次へ] [次へ]

触ったり重なったりしただけで開始するイベントを作ってみる

今回は触ったり重なったりしただけで開始するイベントを作ってみます。
これは例えば、特定位置に入ると始まるイベントや踏むと反応する罠などに使えます。


●イベント状態ハンドラ
   イベント状態には「イベント状態ハンドラ」というものが現在11種類定義されています。
   「イベント状態ハンドラ」とは、「そのイベントに対して特定の条件が満たされた時に実行されるスクリプト」です。
   今まで書いていたスクリプトは「プレイヤーから調べられた時」の「イベント状態ハンドラ」だったので、
   イベントを調べた時にスクリプトが実行されていたというわけです。
   
   「イベント状態ハンドラ」はイベント状態ごとに独立して定義することができ、
   同時に複数のハンドラを定義することができます。
   現在定義されている「イベント状態ハンドラ」の起動タイミングは以下の通りです。
   ただし、複数の起動タイミングを同時に満たした場合でも、通常はそのうちの1つしか実行されません。
   (多重起動可に設定すると全て実行されるようになりますが、制御が難しくなるため入門編では扱いません)
ハンドラの種類起動タイミング
プレイヤーから調べられたプレイヤーがこのイベントを調べた時
プレイヤーから触れられたプレイヤーがこのイベントに接触した時、または重なった時
プレイヤーを調べたこのイベントがプレイヤーを調べた時
プレイヤーへ触れたこのイベントがプレイヤーに接触した時、または重なった時
自動開始このイベント状態でフレームが経過する度
他のイベントから調べられた他のイベント(プレイヤーを除く)がこのイベントを調べた時
他のイベントから触れられた他のイベント(プレイヤーを除く)がこのイベントに接触した時、または重なった時
他のイベントを調べたこのイベントが他のイベント(プレイヤーを除く)を調べた時
他のイベントへ触れたこのイベントが他のイベント(プレイヤーを除く)に接触した時、または重なった時
この状態になったこのイベント状態に切り替わった時(イベントインスタンス生成時を含む)
拡張応答なし(スクリプトから直接呼び出された場合のみ)

   設定する「イベント状態ハンドラ」は↓の画像の赤丸部分で変更することができます。
   設定内容はハンドラ毎に別々に保持されるので、スクリプトを書く前にハンドラを確認するようにしてください。



●触ったり重なったりしただけで開始するイベント状態ハンドラ
   それでは今回の主題である「触ったり重なったりしただけで開始するイベント」を作ってみます。
   この条件に対応する「イベント状態ハンドラ」は「プレイヤーから触れられた」なので、
   設定する「イベント状態ハンドラ」を「プレイヤーから触れられた時」にします。


   後は、これまで通りイベントの実行内容を記述します。
   (注意:イベント実行内容を先に設定すると「プレイヤーから調べられた」ハンドラになるので、
      操作の順番に注意してください)




   実行して確認してみてください。
   今までと違い、イベントのある場所に触ったり重なったりするだけで反応するようになっています。
   


[前へ] [目次へ] [次へ]

最終更新 2017/10/21