2015-01-04 73 views
0

我是新来的as3。我已经在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); 
     ..... 

谢谢!

+0

你的'progressBarHolderClick'函数在哪里? – akmozo

+0

@anu你能告诉我们你的'progressBarHolderClick'函数吗? – helloflash

+0

你怎么确定它不是派发事件?你点击什么显然是对象,什么都没有发生? – BadFeelingAboutThis

回答

0

代码看起来不错,可能出现的问题:

  • 宽度和你的精灵的高度不为零(!progressBarWidth = 0)
  • 鼠标上的父(_overlay)启用,以确保应用 - progressBarHolder.mouseEnabled = true;
  • 确保Z指标上的progressBarHolder上没有任何内容阻止从精灵中点击。
+0

谢谢!这是一个Z指数问题。 – anu

0

您的代码是正确的。查看_overlayprogressBarHolderClick的收听者。此外,如果mouseChildren_overlay或其他父母设置为false,则可能会发生这种情况。

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