Ticker.addEventListener()メソッドにStageオブジェクトを渡す [Edit]

Ticker.addEventListener()メソッドの引数には、イベント名とリスナー関数を渡すのが通常です。けれど、第2引数にはオブジェクトも渡せます。

Tickerクラスは、EventDispatcherクラスからEventDispatcher.addEventListener()メソッドTicker.addEventListener()メソッドとして受継ぎます。メソッドの第2引数にオブジェクトを渡すと、イベントが起こったときそのオブジェクトに備わるhandleEvent()メソッドを呼出します。

Stageクラスには、ドキュメントに書かれていないhandleEvent()メソッドが内部的に定められています。そして、Ticker.addEventListener()メソッドの第2引数にStageオブジェクトを渡すと、Ticker.tickイベントでこのメソッドが呼出され、Stage.update()メソッドの呼出しを行います。

したがって、Ticker.tickイベントでStage.update()メソッドを呼出したいだけの場合には、つぎのようにTicker.addEventListener()メソッドの第2引数にStageオブジェクトを渡せば済みます。

var stage;
stage = new createjs.Stage("myCanvas");
createjs.Ticker.addEventListener("tick", stage);
なお、EventDispatcher.addEventListener()メソッドの構文やStageクラスのhandleEvent()メソッドの実装については「EaselJSでイベントリスナーを扱うEventDispatcherクラス」をご参照ください。

コメント

この記事にコメントを書く

記事に対するテクニカルな質問はご遠慮ください(利用規約)。

その他の記事