看板 Flash 關於我們 聯絡資訊
scars:還是看不太懂 有什麼必要去假造MouseEvent 11/15 16:31
scars:而不是直接去call那個addEventListener設定的函式? 11/15 16:31
scars:如果真的要假造的話 直接去new一個然後dispatch不就好了? 11/15 16:33
osanaosana:感謝scars的提示,目前正在嘗試中... 11/15 22:18
cjcat2266:要假造event,可以參考EventDispatcher.dispatchEvent() 11/15 23:47
這是我參考範例改出來的 用滑鼠滾輪事件,是因為測試比較好測... 非常感謝大家的幫忙,終於偽造出滑鼠事件... 有鑑於大家不知道原PO到底在玩什麼花樣... 再補充一下說明,我有一個藉由webcam完成的影像動態偵測功能, 然後要教一些as3程式新手,或是設計背景的學生 怎麼寫出有動態偵測效果的Flash 所以我大概就是把下面這功能跟動態偵測功能搭配做成一個fla, 再讓學生去擴充Flash畫面,按鈕,功能, 而且AS3的部份完全可以依照坊間的Flash教學書寫, 不用考慮動態偵測的功能, 只是還沒有完成...還有很多小細節要修 不知道這樣子大家有沒有比較理解了...0rz 下面是完成版的程式,筆誤的部份已經改掉,多餘的程式也已經刪除 希望對有同樣問題的人,沒用過EventDispatch的人有幫助 主程式: import FakeMouse; var dispatch:FakeMouse = new FakeMouse(); addChild(dispatch); root.stage.addEventListener(MouseEvent.MOUSE_WHEEL, wheel); //動態偵測功能,滿足某些條件時執行以下程式 { //問題關鍵****************************** //下面這一行程式執行後,應該要立即執行wheel dispatch.doAction(); } function wheel(event:MouseEvent) { //滑鼠滾輪的執行程式 } ==================================================== FakeMouse類別,繼承自Sprite package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; public class FakeMouse extends Sprite { public function doAction():void { //設定一個假的滑鼠滾輪資訊 dispatchEvent( new MouseEvent(MouseEvent.MOUSE_WHEEL, true,false,500,384,null,false,false,false,true,1)); } } } 再次感謝大家的幫忙... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.134.229
aquarianboy:sprite類別已經有dispatchEvent,如果沒特別的需求 11/16 01:05
aquarianboy:是不用另外再放一個這樣的東西給它的 :) 11/16 01:05
osanaosana:仍然失敗... 11/16 01:37
etrexetrex:我看到目前為止仍然不清楚原po想要寫的是什麼 11/16 01:49
osanaosana:0rz...我需要學怎麼發出假的滑鼠事件 11/16 01:55
aquarianboy:dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 11/16 02:03
aquarianboy:其實我也想不太懂為什麼需要發假的滑鼠事件 11/16 02:04
aquarianboy:直接呼叫listener function不就行了嗎? 11/16 02:04
scars:removeEventListener是筆誤嗎? 還有FakeMouse沒被add到stage 11/16 03:29
aquarianboy:誠心推薦你EAS3這本書,一定會受用的 11/16 10:47
※ 編輯: osanaosana 來自: 120.127.47.36 (11/16 11:18) ※ 編輯: osanaosana 來自: 120.127.47.36 (11/16 11:47)
pm2001:EAS3不錯,就算不是拿學習也能當字典用 11/16 12:24
※ 編輯: osanaosana 來自: 120.127.47.36 (11/16 12:50)