У меня есть много перетаскивания объектов на сцене, и код по умолчанию фрагмента аддов нового слушателя событий и функции на сцену для каждого объекта:выполнения одной функции против нескольких
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void { instance_1.stopDrag(); }
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_1);
function fl_ReleaseToDrop_1(event:MouseEvent):void { instance_2.stopDrag(); }
....
было бы лучше или хуже, чтобы помещать их всех в одного слушателя?
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void {
instance_1.stopDrag();
instance_2.stopDrag();
....
}
Где ваш 'startDrag' происходит? – Aaron
Если вы беспокоитесь о производительности, вы должны начать с поиска способа не запускать все эти stopDrag() для всех ваших экземпляров. Разумеется, они не могут быть перетащены одновременно, поэтому правильная вещь, которую нужно сделать в первую очередь, заключается в том, чтобы остановить только перетаскиваемый экземпляр. – BotMaster
Запуск перетаскивания в основной сцене, один кадр, рабочий слой. Просто изучая AS3 после того, как вы не практиковались в течение нескольких лет. И я хочу иметь возможность перетаскивать каждый элемент по отдельности. С AS2 я мог бы поместить код в объект, поэтому start/stop был специфичен для объекта. Больше не с AS3, следовательно, вопрос. – Naidim