addEventListenerを掘り下げる

2009/09/03  as3.0, チュートリアル

addEventListenerってなんなんだろうか

 

って言うとイベントの取得をするものなんですが、

そのイベント自体って言うのは、各クラスが内部でこんなイベントが発生しました!って

勝手に言うので、もし発生と同時に何かを実行したい時などに登録しておきます。

 

イベントは勝手に発生する

 

どのイベントで、どのファンクションが発生するかは調べる必要があります。

stage:マウスオーバー、アウト、ダブルクリック、・・・・

loader:読み込み開始、読みこみ中、エラー、読み込み完了、・・・

 

addEventListenerは簡単に言うと、動作とファンクションを繋いでくれます。

「何をしたら」「どうする」の二つの引数を記載する事で簡単に使用できるのですが、

実は、いくつかの引数が隠されているので、紹介をさせていただきます。

addEventListener(
	type:String, 
	listener:Function, 
	useCapture:Boolean = false, 
	priority:int = 0, 
	useWeakReference:Boolean = false
);

type

ここにはstringと書いてありますが、Event.COMPLETEなど、

クラス名.***と言う形でとうろくされているものの中からえらぶのが一般的です。

trace(Event.COMPLETE)とかで中に何が書いてあるのかは分かりますが。。

 

listener

イベント発生時のファンクションをここにかきます。

 

useCapture

伝わる順番です。

true:stage→parent→targetへとイベントが発生

false:target→parent→stageとイベントが発生

どういう場合につかうかと言うと、何かをクリックなどした際に2つのイベントが同時にうごいてしまう場合などにじぶんがおもったのと違うほうが先にうごきだしてしまう時この値をせっていしてあげるとはっせいのじゅんばんが逆になります。

 

priority

優先順位です。

基本的には実行は書いた順番で実行がされます。

その順番を覆すときに使用します。

 

 

useWeakReference

ガベージコレクションと言う弱参照をするかどうかです。 やる必要がないのではないかと思います。

弱参照って言うのはコンピュータがいらないと判断したら、これを消していいです。というとっても曖昧な合図です。

このタイミングはわかりにくいので、特につかう必要はないかと。。