AS3:Sprite不会调度鼠标事件

时间:2015-01-04 19:17:55

标签: actionscript-3 flash sprite

我是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);
        .....

谢谢!

2 个答案:

答案 0 :(得分:0)

您的代码是正确的。查看_overlayprogressBarHolderClick听众。如果mouseChildren的属性_overlay或其他父级设置为false,也会发生这种情况。

如果仍然无法找到解决方案,请显示更多代码。

答案 1 :(得分:0)

代码看起来不错,可能存在问题:

  • 精灵的宽度和高度不为零(progressBarWidth!= 0)
  • 在父级(_overlay)上启用鼠标,以确保使用 - progressBarHolder.mouseEnabled = true;
  • 确保阻止点击精灵的Z索引上的progressBarHolder上面没有任何内容。