In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

【DoubleClickEnabledTest】doubleClickEnabledの注意点

仕様の確認

黒色はdoubleClickEnabledをfalseにしているが、
その子供でありdoubleClickEnabledがtrueの赤色をダブルクリックすると、
黒色からEvent.DOUBLE_CLICKのイベントが送出される。

緑色はdoubleClickEnabledをtrueにしているが、
その子供でありdoubleClickEnabledがfalseの青色をダブルクリックしても、
緑色からEvent.DOUBLE_CLICKのイベントは送出されない。
Get Adobe Flash player
by wetcradle 25 Mar 2010
/**
 * Copyright wetcradle ( http://wonderfl.net/user/wetcradle )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/mUyU
 */

/**
仕様の確認

黒色はdoubleClickEnabledをfalseにしているが、
その子供でありdoubleClickEnabledがtrueの赤色をダブルクリックすると、
黒色からEvent.DOUBLE_CLICKのイベントが送出される。

緑色はdoubleClickEnabledをtrueにしているが、
その子供でありdoubleClickEnabledがfalseの青色をダブルクリックしても、
緑色からEvent.DOUBLE_CLICKのイベントは送出されない。
*/
package {
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	public class DoubleClickEnabledTest extends Sprite {
		public function DoubleClickEnabledTest():void {
			var p1:Sprite = getSquare(100, 0x000000);
			p1.doubleClickEnabled = false;
			p1.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);
			addChild(p1);
			var c1:Sprite = getSquare(50, 0xff0000);
			c1.doubleClickEnabled = true;
			p1.addChild(c1);
			
			var p2:Sprite = getSquare(100, 0x00ff00);
			p2.y = 200;
			p2.doubleClickEnabled = true;
			p2.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);
			addChild(p2);
			var c2:Sprite = getSquare(50, 0x0000ff);
			c2.doubleClickEnabled = false;
			p2.addChild(c2);
		}
		private function getSquare(size:Number, color:uint):Sprite {
			var square:Sprite = new Sprite();
			square.graphics.beginFill(color);
			square.graphics.drawRect(0, 0, size, size);
			square.graphics.endFill();
			return square;
		}
		private function doubleClickHandler(e:MouseEvent):void {
			var sprite:Sprite = Sprite(e.currentTarget);
			sprite.x = sprite.x ? 0 : 10;
		}
	}
}