on - hoge1e3/Tonyu2 GitHub Wiki

BaseActor / EventMod

onメソッド

このオブジェクトに送られてきたイベントに反応して処理を行います。

書式

on(イベント名,[イベント引数...],イベントハンドラ)
  • イベント名には、イベントの種類をあらわす文字列か、EventHandlerクラスを継承したクラスの名前を指定します。
  • イベントの種類によっては、イベント引数を指定します。
  • イベントハンドラには、このオブジェクトに対してイベントが発生したときに処理する内容を関数オブジェクトまたはメソッド名をあらわす文字列で指定します。

イベントの種類一覧

例1


//dieメソッドが呼ばれたときに、「負けちゃったー」を表示し、$Scoreを10増やす
on("die") \{
   print("負けちゃったー");
   $Score+=10;
};

戻り値

次のメソッドを呼び出し可能なオブジェクトを返します.

  • removeメソッド : イベントハンドラが動作しないようにします.

例:

r=on("crashTo",Enemy,die); //Enemyに当たったら消えるようにする
updateEx(60);//が,60フレーム経過した後は...
r.remove();// Enemyに当たっても消えないようになる

実行モードについて

イベントハンドラに指定された内容は、次のような実行モードで実行されます

  • イベントハンドラが文字列で、このオブジェクトがその文字列で表される名前のメソッドをもつ場合、そのメソッドが待機可能メソッドであれば待機可能モードで実行されます。
  • イベントハンドラが束縛されたメソッドを指す場合、そのメソッドが待機可能メソッドであれば待機可能モードで実行されます。
  • それ以外の場合は、待機不能モードで実行されます。

参考