看板 Flash 關於我們 聯絡資訊
※ 引述《cjcat2266 (CJ Cat)》之銘言: : ※ 引述《kazenol (隨便啦)》之銘言: : : 用這種寫法會變成重複,按下去一次就trace所有的Movie name出來而 : : 不是只trace所按下的影片,如果加上getURL就變成一次開出所有的視窗@@ : : 不知道怎麼解決,請高手幫幫忙。 : 在AS2裡面MC的onMouseUp event handler的偵測範圍是整個場景 : 也就是說當滑鼠不在MC上的時候放開左鍵 : 所有MC的onMouseUp event handler還是會被呼叫 啊?!這麼爛? 我的目的是用CreateEmptyMovieClip去產生一組動態的影片,並且為它們附上 URL可供點選開啟視窗,這樣自然而然想到用onMouseUp,可是沒想到居然是偵測 所有場景,這未免太奇怪的設定。手邊沒有flash,明天做試驗看看 感謝您回答 : 這個時候裡面還要再加一個hitTest來判斷滑鼠位置 : myClip_mc.onMouseUp = function() { : var xMouse:Number = this._parent._xmouse; : var yMouse:Number = this._parent._ymouse; : if (this.hitTest(xMouse, yMouse, true)){ : //code : } : }; : 你也可以直接用MC的onRelease event handler : 這樣的話就跟Button一樣,有效區域只有在MC的圖形範圍 : 至於AS3的MouseEvent.MOUSE_DOWN event就只會在MC的圖形範圍被產生 : 所以不需要hitTest來判斷滑鼠位置 : import flash.events.MouseEvent; : myClip_mc.addEventListener(MouseEvent.MOUSE_DOWN, hit); : function hit(e:MouseEvent){ : //code : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.224.205
etrexetrex:你可以用onPress 或onRelease 10/14 01:29
etrexetrex:MC.onMouseUp 只要MC還存在 不管你點哪裡都會執行 10/14 01:29
jonathanmeow:爛?不會啊 每個事件都有每個事件的用途罷了.... 10/14 19:24