MouseUnderPoint?

マウスポインター直下のオブジェクトを返すクラス。

コード

http://www.libspark.org/svn/as3/MouseUnderPoint/

使い方

// var obj:Object =  MouseUnderPoint.getObject(this);
// とやると、this内のobjにマウス直下のオブジェクトの参照が渡される。
// 返り値がnullの可能性もあるので、この後存在確認が必要。
// if(obj){
// 	obj.x += 5;
// }
//
// 上記はgetObject実行時にターゲットを指定する方法だが、
// あらかじめ指定しておく方法もある。
MouseUnderPoint.target = stage;

// いくつもオブジェクトが重なっている場合に、
// 直下でも、nameが付いていないものは無視して欲しい時の指定方法。
MouseUnderPoint.isNamed = true;

// 他の条件を指定する場合には、その条件の関数の参照を渡す。
MouseUnderPoint.isPassFn = function(obj:Object):Boolean {
	var str:String = obj.name;
	var _is:Boolean;
	// 8文字未満の場合はtrueを返す=合格
	if(str.length < 8){
		_is = true
	}
	return _is;
};


//例えばMouseEvent.CLICKで実行するとか。
stage.addEventListener(MouseEvent.CLICK, onClick);

function onClick(e:MouseEvent):void {
	var obj:Object =  MouseUnderPoint.getObject();
	if(obj){
		obj.x += 5;
	}	
}

補足

*http://www.mztm.jp/wp/?p=625 細々と異なるところがあるけど、基本的な部分は変わらないので一応動作見本ということで。