API Docs for: 最后更新日期:2014年8月25日
Google搜索   
Show:

File: display/LInteractiveObject.js

/** @language japanese
 * <p>LInteractiveObject クラスはマウスを使用してユーザーが操作できるすべての表示オブジェクトの抽象基本クラスです。LInteractiveObject クラスを直接インスタンス化することはできません。</p>
 * @class LInteractiveObject
 * @extends LDisplayObject
 * @constructor
 * @since 1.9.0
 * @public
 */
var LInteractiveObject = (function() {
	function LInteractiveObject() {
		var s = this;
		LExtends(s, LDisplayObject, []);
		s.type = "LInteractiveObject";
		/** @language japanese
		 * このオブジェクトでマウスまたはその他のユーザー入力メッセージを受け取るかどうかを指定します。デフォルト値は true であり、これは表示リスト上の LInteractiveObject インスタンスがデフォルトでマウスイベントまたはその他のユーザー入力イベントを受け取ることを意味します。mouseEnabled を false に設定すると、インスタンスでは、マウスイベント(またはキーボードイベントなど、その他のユーザー入力イベント)を一切受け取りません。表示リスト上のこのインスタンスの子は影響を受けません。表示リスト上のオブジェクトのすべての子に関する mouseEnabled 動作を変更するには、LDisplayObjectContainer.mouseChildren を使用します。
		 * @property mouseEnabled
		 * @type Boolean
		 * @since 1.8.10
		 * @example
		 * 	LGlobal.setDebug(true);
		 * 	var button01 = new LButtonSample1("mouseEnabled=true");
		 * 	button01.x = button01.y = 20;
		 * 	addChild(button01);
		 * 	button01.addEventListener(LMouseEvent.MOUSE_DOWN,function(e){
		 * 		trace("button01 click");
		 * 	});
		 * 	var button02 = new LButtonSample1("mouseEnabled=false");
		 * 	button02.x = 20;
		 * 	button02.y = 150;
		 * 	button02.mouseEnabled = false;
		 * 	addChild(button02);
		 * 	button02.addEventListener(LMouseEvent.MOUSE_DOWN,function(e){
		 * 		trace("button02 click");
		 * 	});
		 * @examplelink <p><a href="../../../api/LInteractiveObject/mouseEnabled.html" target="_blank">実際のサンプルを見る</a></p>
		 * @public
		 */
		s.mouseEnabled = true;
		s.mouseList = new Array();
	}
	var p = {
		addEventListener : function(type, listener) {
			var s = this;
			if (type.indexOf("mouse") >= 0 || type.indexOf("touch") >= 0 || type == LMouseEvent.DOUBLE_CLICK) {
				if (LMouseEventContainer.container[type] || ((type == LMouseEvent.MOUSE_OVER || type == LMouseEvent.MOUSE_OUT) && LMouseEventContainer.container[LMouseEvent.MOUSE_MOVE])) {
					LMouseEventContainer.addMouseEvent(s, type, listener);
					return;
				}
				s.mouseList.push({
					listener : listener,
					type : type
				});
			} else {
				s._eventList.push({
					listener : listener,
					type : type
				});
			}
		},
		removeEventListener : function(type, listener) {
			var s = this, i, length;
			if (type.indexOf("mouse") >= 0 || type.indexOf("touch") >= 0 || type == LMouseEvent.DOUBLE_CLICK) {
				if (LMouseEventContainer.container[type] || ((type == LMouseEvent.MOUSE_OVER || type == LMouseEvent.MOUSE_OUT) && LMouseEventContainer.container[LMouseEvent.MOUSE_MOVE])) {
					LMouseEventContainer.removeMouseEvent(s, type, listener);
					return;
				}
				length = s.mouseList.length;
				for ( i = 0; i < length; i++) {
					if (!s.mouseList[i]) {
						continue;
					}
					if (type == s.mouseList[i].type && s.mouseList[i].listener == listener) {
						s.mouseList.splice(i, 1);
						return;
					}
				}
			} else {
				return s.callParent("removeEventListener", arguments);
			}
		},
		removeAllEventListener : function() {
			var s = this;
			s.mouseList.length = 0;
			s._eventList.length = 0;
			if (LMouseEventContainer.container[LMouseEvent.MOUSE_DOWN]) {
				LMouseEventContainer.removeMouseEvent(s, LMouseEvent.MOUSE_DOWN);
			}
			if (LMouseEventContainer.container[LMouseEvent.MOUSE_UP]) {
				LMouseEventContainer.removeMouseEvent(s, LMouseEvent.MOUSE_UP);
			}
			if (LMouseEventContainer.container[LMouseEvent.MOUSE_MOVE]) {
				LMouseEventContainer.removeMouseEvent(s, LMouseEvent.MOUSE_MOVE);
				LMouseEventContainer.removeMouseEvent(s, LMouseEvent.MOUSE_OVER);
				LMouseEventContainer.removeMouseEvent(s, LMouseEvent.MOUSE_OUT);
			}
		},
		hasEventListener : function(type) {
			var s = this, i, length;
			if (type.indexOf("mouse") >= 0 || type.indexOf("touch") >= 0 || type == LMouseEvent.DOUBLE_CLICK) {
				length = s.mouseList.length;
				for ( i = 0; i < length; i++) {
					if (!s.mouseList[i]) {
						continue;
					}
					if (type == s.mouseList[i].type) {
						return true;
					}
				}
			} else {
				return s.callParent("hasEventListener", arguments);
			}
			return false;
		}
	};
	for (var k in p) {
		LInteractiveObject.prototype[k] = p[k];
	}
	return LInteractiveObject;
})(); 
/** @language japanese
 * ユーザーが LInteractiveObject インスタンス上でポインティングデバイスのボタンを押したときに送出されます。
 * <p><a href="LMouseEvent.html#property_MOUSE_DOWN">LMouseEvent.MOUSE_DOWN</a></p>
 * @event LMouseEvent.MOUSE_DOWN
 */
/** @language japanese
 * ユーザーが LInteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。
 * <p><a href="LMouseEvent.html#property_MOUSE_UP">LMouseEvent.MOUSE_UP</a></p>
 * @event LMouseEvent.MOUSE_UP
 */
/** @language japanese
 * LInteractiveObject の上で、ユーザーがポインティングデバイスを移動させたときに送出されます。
 * <p><a href="LMouseEvent.html#property_MOUSE_MOVE">LMouseEvent.MOUSE_MOVE</a></p>
 * @event LMouseEvent.MOUSE_MOVE
 */
/** @language japanese
 * ユーザーが LInteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。
 * <p><a href="LMouseEvent.html#property_MOUSE_OUT">LMouseEvent.MOUSE_OUT</a></p>
 * @event LMouseEvent.MOUSE_OUT
 */
/** @language japanese
 * ユーザーが LInteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。
 * <p><a href="LMouseEvent.html#property_MOUSE_OVER">LMouseEvent.MOUSE_OVER</a></p>
 * @event LMouseEvent.MOUSE_OVER
 */
/** @language japanese
 * ユーザーが LInteractiveObject をポインティングデバイスのメインボタンで 2 回続けてすばやくクリックすると送出されます。
 * <p><a href="LMouseEvent.html#property_DOUBLE_CLICK">LMouseEvent.DOUBLE_CLICK</a></p>
 * @event LMouseEvent.DOUBLE_CLICK
 */