我怎麼會不斷地檢查鼠標是否處於關閉狀態,如果鼠標下來,它的動作,我CAL功能ActionScript 3的鼠標按下
我試圖mk_mc.addEventListener(MouseEvent.MOUSE_DOWN,fct)
但它只能調用函數的人,然後停止,我想不斷地做,我該怎麼做?
我怎麼會不斷地檢查鼠標是否處於關閉狀態,如果鼠標下來,它的動作,我CAL功能ActionScript 3的鼠標按下
我試圖mk_mc.addEventListener(MouseEvent.MOUSE_DOWN,fct)
但它只能調用函數的人,然後停止,我想不斷地做,我該怎麼做?
什麼你問的已經問過,但我不能很容易地找到一個重複的問題,所以我會後的鏈接我問題,我在那裏asking for help with a few niche issues。
在AS3處理拖動事件的一些合理的代碼是:
stage.addEventListener(MouseEvent.MOUSE_DOWN, beginDrag);
function beginDrag(e:MouseEvent)
{
stage.addEventListener(MouseEvent.MOUSE_MOVE, drag);
stage.addEventListener(MouseEvent.MOUSE_UP, endDrag);
stage.addEventListener(MouseEvent.DEACTIVATE, endDrag);
stage.addEventListener(Event.MOUSE_LEAVE, endDrag);
stage.addEventListener(Event.REMOVED_FROM_STAGE, stageEndDrag);
//trigger beginDrag event
}
function drag(e:MouseEvent)
{
//trigger drag event
}
function endDrag(e:Event)
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, drag);
stage.removeEventListener(MouseEvent.MOUSE_UP, endDrag);
stage.removeEventListener(MouseEvent.DEACTIVATE, endDrag);
stage.removeEventListener(Event.MOUSE_LEAVE, endDrag);
stage.removeEventListener(Event.REMOVED_FROM_STAGE, stageEndDrag);
//trigger endDrag event
}
我覺得你可以簡單地設置一些標誌,當鼠標停下來並在鼠標啓動時再次設置它。類似的東西:
private var down_:Boolean = false;
mk_mc.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
function onMouseDown(event) {
down_ = true;
mk_mc.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
}
function onMouseUp(event) {
down_ = false;
mk_mc.removeEventListener(MouseEvent.MOUSE_UP,onMouseUp);
}
然後,只需查詢down_
知道如果鼠標按下。
所以,你想要做的是調用一個函數,當鼠標移動和按鈕是跌?
最簡單的方法是在鼠標移動時調用函數(或者,如果您想在鼠標移動時調用函數,則使用Timer),並讓它檢查鼠標上/下設置的標誌在採取任何行動之前。
var isDown:Boolean = false;
stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
function onMouseDown(evt:MouseEvent):void
{
isDown = true;
}
function onMouseUp(evt:MouseEvent):void
{
isDown = false;
}
function onMouseMove(evt:MouseEvent):void
{
if(isDown) {
//party
}
}
這段代碼有很多細微的問題。它通常工作得相當好,但是在某些情況下,它會失敗,導致即使在鼠標被釋放後,拖動也會停滯不前。 – zzzzBov