Проблемы с перетаскиванием при падении на другой объект - PullRequest
0 голосов
/ 25 октября 2011

У меня есть упражнение дрог и дрэг.

dict[box_a]=obj1_mc;
dict[box_b]=obj2_mc;
dict[box_c]=obj3_mc;

Объект, который я могу перетащить, и поле не может

function test_match(target,obj){

     // if answer is good 
    if (dict[target]==obj) {
        hits=hits+1;


        textField.text=" Correct !!!";
        obj.alpha=0.5;
        // remove drag event 
        obj.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
        obj.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
        // quiz completed, all good 
        if (hits==max) {
            textField.text="Congrats all good  !!";
        }


        // if answer is bad 
    } else {
        //if not good, still remove drag event 
        obj.alpha=0.5
        obj.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
        obj.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
        textField.text="Incorrect";


    }
    //display the score so far 
    score_txt.text="your score is "+hits+" out of "+max;
}

Это мой код.Моя проблема заключается в том, что если я возьму объект и положу его поверх другого объекта (obj1_mc на obj3_mc), то получится так, как будто я положил его не в тот ящик.Как я могу это исправить, пожалуйста

1 Ответ

0 голосов
/ 25 октября 2011

Вам нужно проверить, что добавленный объект является одним из допустимых объектов, а если нет - проигнорировать результат.Вероятно, вам следует опубликовать немного больше кода, поскольку он охватывает только небольшую часть вашей функциональности (фактический тест).

РЕДАКТИРОВАТЬ:

Хорошо, так что если вы отредактируете свой обработчик mouseUp ввключите проверку, чтобы увидеть, не выпал ли он на ЛЮБОЙ ящик;

if (target!=null && dict[target] ) {
 test_match(target, obj);
} else {

Это должно работать (не проверено).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...