BaseActor / EventMod
onメソッド
このオブジェクトに送られてきたイベントに反応して処理を行います。
書式
on(イベント名,[イベント引数...],イベントハンドラ)
- イベント名には、イベントの種類をあらわす文字列か、EventHandlerクラスを継承したクラスの名前を指定します。
- イベントの種類によっては、イベント引数を指定します。
- イベントハンドラには、このオブジェクトに対してイベントが発生したときに処理する内容を関数オブジェクトまたはメソッド名をあらわす文字列で指定します。
イベントの種類一覧
例1
//dieメソッドが呼ばれたときに、「負けちゃったー」を表示し、$Scoreを10増やす
on("die") \{
print("負けちゃったー");
$Score+=10;
};
実行モードについて
イベントハンドラに指定された内容は、次のような実行モードで実行されます
- イベントハンドラが文字列で、このオブジェクトがその文字列で表される名前のメソッドをもつ場合、そのメソッドが待機可能メソッドであれば待機可能モードで実行されます。
- イベントハンドラが束縛されたメソッドを指す場合、そのメソッドが待機可能メソッドであれば待機可能モードで実行されます。
- それ以外の場合は、待機不能モードで実行されます。
.