AS3中Bitmap为什么不能添加鼠标事件

这是一个外部加载图片,然后给图片添加点击事件的代码....可是怎么也触发不了onClick....

var req:URLRequest = new URLRequest("001.jpg"); 
var loader:Loader = new Loader(); 
loader.load(req); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
function onComplete(e:Event) { 
	var bmp:Bitmap = new Bitmap(e.target.content.bitmapData); 
	addChild(bmp); 
	bmp.addEventListener(MouseEvent.CLICK, onClick); 
} 
function onClick(e:MouseEvent) { 
	trace("001 clicked"); 
}

Bitmap是从DisplayObject继承来的

Sprite是从InteractiveObject 继承来的

InteractiveObject从DisplayObject继承来的


DisplayObject是没有MouseEvent.CLICK事件的

MouseEvent.CLICK是InteractiveObject继承DisplayObject后,自身新添加的事件

所以Bitmap本身没有这个事件,而Sprite有这个事件.以上的代码就要在bitmap 外面套一个sprite 然后给sprite添加鼠标事件..
阅读更多
个人分类: ActionScript 3.0 & Flash
上一篇as/flex 中添加事件addEventListener()时传递参数
下一篇AS3.0的 带参数 自定义事件
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭