2 видеоролика с одинаковым именем экземпляра

У меня есть две копии одного и того же мувиклипа на временной шкале, и мне нужно, чтобы они обе делали одно и то же, поэтому я решил дать им одно и то же имя экземпляра.

У меня есть прослушиватель событий на сцене, который прослушивает щелчок мыши, а затем проверяет, что было щелкнуто, используя статус переключения, но статус переключателя выбирает только один экземпляр мувиклипа, а другой используется по умолчанию.

В основном я спрашиваю, можно ли размещать на временной шкале видеоклипы с тем же именем экземпляра?

public function Main() {
    stage.addEventListener(MouseEvent.CLICK, doStuff);
}

public function doStuff(e:MouseEvent):void {
    switch (e.target) {
        case myMC1 :
            //do stuff
            break;
        case myMC2 :
            //do stuff
            break;
        case myMC3 :
            //do stuff
            break;
        default :
            //do stuff
    }
}

person taranpyper    schedule 27.01.2012    source источник


Ответы (2)


Дайте экземплярам два разных имени (НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ОДИНАКОВЫЕ ИМЯ ДЛЯ ДВУХ ОБЪЕКТОВ, ДЕЙСТВИТЕЛЬНО :)) и измените оператор switch следующим образом:

 public function doStuff(e:MouseEvent):void {
switch (e.target) {
    case myMC1 :
    case myMC2 :
        //do stuff
        break;
    case myMC3 :
        //do stuff
        break;
    default :
        //do stuff
}
}

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

person Sr.Richie    schedule 27.01.2012

Вместо этого используйте e.currentTarget.
e.target предоставит вам объект, отправивший событие, которое может быть дочерним для вашего MovieCLip.

person The_asMan    schedule 27.01.2012