InteractiveObject的doubleClick事件
|
我们知道doubleClick事件是在as3中新增加的事件,我们经常需要使用到这个事件,在as2我时代需要自己写函数判断双击,在as3中就可以直接使用这个事件了,但是在使用这个事件的时候有个细节要主要,首先事件是InteractiveObject所属的,因此从InteractiveObject继承下来的对象才能使用该属性,另外一个是要首先设置doubleClickEnabled属性为true,最后这个事件是使用内部的元件接收的(the instance receives doubleClick events within its bounds),所以如果你要侦听的doubleClick事件的元件内部有从InteractiveObject继承的元件,要么设置这些元件的 mouseEnabled为false,要么使用内部原来来侦听doubleClick事件. 1.内部元件不是从InteractiveObject继承下来,可以直接使用元件接收事件 addChild(a); var b = new Shape(); b.graphics.beginFill(0x0); a.doubleClickEnabled = true;//使用a接收 a.addEventListener("doubleClick",dc); function dc(e) 2.内部元件有多个从InteractiveObject继承下来,可以使用最上面的元件来接收,或者设置其他元件不接收鼠标事件 addChild(a); var b = new Sprite(); var c = new Sprite(); b.graphics.beginFill(0x0); c.graphics.beginFill(0x0); c.mouseEnabled = false;//设置c不接收鼠标事件,才能让下面的b接收 b.doubleClickEnabled = true;//使用b接收 b.addEventListener("doubleClick",dc); function dc(e)
addChild(a); var b = new Sprite(); var c = new Sprite(); b.graphics.beginFill(0x0); c.graphics.beginFill(0x0); b.mouseEnabled = false;//不接收鼠标事件 a.addEventListener("doubleClick",dc); function dc(e) 源代码网供稿. |
