2012-06-01 2 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 на любой из клипов, которые вы должны удалить слушателей на другие клипы, это предотвратит их от тащат.

После того, как вы сделали перетаскивание, вы можете добавить их обратно, чтобы пользователь мог снова начать перетаскивание.