2015-01-04 103 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,則可能會發生這種情況。

如果仍然找不到解決方案,請顯示更多代碼。