我想在movieclip對象上實現下面的控件。當鼠標指針位於對象上時,如果單擊鼠標左鍵並保持單擊狀態,則重疊動畫片段對象的遮罩開始消失。我嘗試了MouseEvent.DOWN等,但我沒有成功實現此功能。可能我想念一些東西。我可以通過標準的鼠標事件類型來實現嗎?還是我需要以另一種方式來實現? 也有可能通過減少alpha屬性來淡出蒙版,實際上使鼠標指針下的像素消失?Actionscript鼠標事件問題
0
A
回答
0
MouseEvent.MOUSE_DOWN
/Mouse.MOUSE_UP
確實是要使用的事件,所以在代碼中存在大多數問題。
它經常發生這個事件不會被觸發,因爲對象重疊,我懷疑在這種情況下,它可能是面具。如果是這種情況,您可以簡單地使用mouseEnabled = false
禁用障礙displayObject上的mouseEvents。
例子:
var background:Sprite,
foreground:Sprite; // Note: could be MovieClips of course !
// adds a sprite with a pink circle
addChild(background = new Sprite());
background.graphics.beginFill(0xff0099);
background.graphics.drawEllipse(0,0,100,100);
// adds a sprite containing a black box and adds it on top of the circle
addChild(foreground = new Sprite());
foreground.graphics.beginFill(0x000000);
foreground.graphics.drawRect(0,0,100,100);
background.buttonMode = true; // not necessary, just adds the handcursor on rollover to let you debug easier.
foreground.mouseEnabled = false; // the foreground is not clickable anymore, which makes the background clickable
background.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
function onMouseUp(e:Event):void
{
foreground.visible = 0; // I let you do the animation here ;)
}
一些關於光標下的像素快速提示:
您可以用Bitmap對象做到這一點。 可以使用mouseX,mouseY檢索像素座標(請注意,位圖對象不會派發鼠標事件,因此您需要將其添加到Sprite以用作包裝)。 您可以通過getPixel32檢索像素實際顏色/ alpha並將其修改爲setPixel32。
如果您有麻煩,我建議您爲此打開一個單獨的問題。
希望它能幫助, T.
相關問題
- 1. Actionscript 3鼠標懸停問題
- 2. 的ActionScript - 鼠標控制邏輯問題
- 3. ActionScript 3,處理鼠標事件案例
- 4. Actionscript 3 mouseover passthough(忽略鼠標事件)
- 5. 問題與LinkButton的鼠標事件
- 6. QT鼠標事件處理問題
- 7. 問題綁定鼠標事件
- 8. HTML5/CANVAS:鼠標事件問題
- 9. 問題與jquery中的鼠標事件
- 10. 面向鼠標事件的問題
- 11. HTML5畫布和鼠標事件問題
- 12. 鼠標移動事件問題
- 13. 鼠標事件問題嵌套元素
- 14. 鼠標事件點擊問題
- 15. CSS3 Translate3d鼠標事件問題
- 16. 嵌套鼠標事件的JQuery問題
- 17. 加重鼠標事件的問題
- 18. 問題有關鼠標事件
- 19. 問題與鼠標移動/鼠標點擊事件
- 20. 鼠標點擊畫布上的鼠標事件問題
- 21. ActionScript - 使用TweenLite和鼠標移動事件的嚴重性能問題
- 22. ActionScript RSS標題問題
- 23. 鼠標事件
- 24. ActionScript,鼠標事件可能的競態條件
- 25. ActionScript 3鼠標移動事件不發送
- 26. Actionscript 3:我如何測量鼠標事件之間的時間......?
- 27. Actionscript從Sprite鼠標事件中檢索BitmapData
- 28. 無法在actionscript 3中添加鼠標事件處理程序
- 29. 的ActionScript鼠標事件的多個項目
- 30. ActionScript - 使用多個鼠標事件顯示對象?
感謝西奧其實我達到我想要通過使用正確的MOUSE_DOWN,MOUSE_UP,和MOUSE_MOVE事件的影響。實際上,我爲每個MOUSE_DOWN,MOUSE_UP註冊了兩個單獨的事件。在MOUSE_UP中,我包含一個object.removeEventListener(MOUSE_MOVE,mousedown),在MOUSE_DOWN中包含一個object.addEventListener(MOUSE_MOVE,mousedown)加上我想要的動作。 – Ponty 2010-02-15 16:24:14