2012-06-01 70 views
0

我正在使用AS3創建拖放遊戲。這是我用來做拖放的代碼。遊戲將爲用戶提供一個提示,用戶必須將三個選項中的特定答案拖到正確的位置。這種編碼將允許用戶選擇所有三個選項。我想要做的是限制用戶選擇多個選項。有人可以幫我弄這個嗎?與ActionScript 3相關

var myArray:Array = [apple, grapes, gava]; 
var matchImage:Array = [imgApple, imgGrapes, imgGuava]; 
var posArray:Array = [ {x:55.3, y:55.6}, {x:100.45, y:100.6}, {x:300.5, y:250.7} ]; 
var currentClip:MovieClip; 
var Xpos:Number; 
var Ypos:Number; 

for(var i:int = 0; i < wordArray.length; i++) { 
    myArray[i].buttonMode = true; 
    myArray[i].addEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown); 
} 

function item_onMouseDown(event:MouseEvent):void { 
    currentClip = MovieClip(event.currentTarget); 
    Xpos = currentClip.x; 
    Ypos = currentClip.y; 
    addChild(currentClip); 
    currentClip.startDrag(); 
    stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp); 
} 

function stage_onMouseUp(event:MouseEvent):void { 
    stage.removeEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp); 
    currentClip.stopDrag(); 
    var index:int = myArray.indexOf(thisClip); 
    var equalClip:MovieClip = MovieClip(matchImage[index]); 
    if(matchImage.hitTestPoint(thisClip.x, thisClip.y, true)) { 
     currentClip.x = posArray[index].x; 
     currentClip.y = posArray[index].y; 
     currentClip.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown); 
     currentClip.buttonMode = false; 
    } 
    else 
    {  
    currentClip.x = startXposition; 
     currentClip.y = startYposition; 
    } 
} 

回答

1

一旦你發現任何你應該刪除的其他剪輯聽衆剪輯的MouseEvent.MOUSE_DOWN,這將防止它們被牽扯進來。

一旦完成拖動,您可以將它們添加回來,以允許用戶再次開始拖動。