AS3:Sprite 不发送鼠标事件
AS3: Sprite does not dispatch mouse event
我是 as3 新手。我开发了一个 as3 中的小应用程序。但问题是创建的精灵不发送任何鼠标事件[例如:点击]。请任何人指导我并发表评论
.... private var progressBarHolder:Sprite = new Sprite();
progressBarHolder.graphics.clear();
progressBarHolder.graphics.beginFill(0xeaeaea);
progressBarHolder.alpha = 0.5;
progressBarHolder.graphics.drawRoundRect(0, 0, 80, 25, 0,0);
//progressBarHolder.graphics.endFill();
progressBarHolder.width = progressBarWidth;
progressBarHolder.height = 24;
progressBarHolder.x = 48;
progressBarHolder.y = _videoModule.getHeight() - 48;
progressBarHolder.buttonMode = true;
progressBarHolder.addEventListener(MouseEvent.CLICK, progressBarHolderClick);
_overlay.addChild(progressBarHolder);
.....
谢谢!
您的代码是正确的。查找 _overlay
或 progressBarHolderClick
侦听器。如果 _overlay
的 属性 mouseChildren
或其他父级设置为 false
.
,也会发生这种情况
如果您仍然找不到解决方案,请显示更多代码。
代码看起来不错,可能的问题:
- 您的 sprite 的宽度和高度不为零(progressBarWidth != 0)
- 鼠标已在父级 (_overlay) 上启用,以确保使用 -
progressBarHolder.mouseEnabled = 真;
- 确保 Z 索引上的 progressBarHolder 上方没有任何东西阻止精灵点击。
我是 as3 新手。我开发了一个 as3 中的小应用程序。但问题是创建的精灵不发送任何鼠标事件[例如:点击]。请任何人指导我并发表评论
.... private var progressBarHolder:Sprite = new Sprite();
progressBarHolder.graphics.clear();
progressBarHolder.graphics.beginFill(0xeaeaea);
progressBarHolder.alpha = 0.5;
progressBarHolder.graphics.drawRoundRect(0, 0, 80, 25, 0,0);
//progressBarHolder.graphics.endFill();
progressBarHolder.width = progressBarWidth;
progressBarHolder.height = 24;
progressBarHolder.x = 48;
progressBarHolder.y = _videoModule.getHeight() - 48;
progressBarHolder.buttonMode = true;
progressBarHolder.addEventListener(MouseEvent.CLICK, progressBarHolderClick);
_overlay.addChild(progressBarHolder);
.....
谢谢!
您的代码是正确的。查找 _overlay
或 progressBarHolderClick
侦听器。如果 _overlay
的 属性 mouseChildren
或其他父级设置为 false
.
如果您仍然找不到解决方案,请显示更多代码。
代码看起来不错,可能的问题:
- 您的 sprite 的宽度和高度不为零(progressBarWidth != 0)
- 鼠标已在父级 (_overlay) 上启用,以确保使用 - progressBarHolder.mouseEnabled = 真;
- 确保 Z 索引上的 progressBarHolder 上方没有任何东西阻止精灵点击。