2010-05-04 14 views

Odpowiedz

14

Nie, nie będą, więc aktualizacja zostanie wywołana tylko raz, gdy wydarzenie się uruchomi.

+0

To świetnie! Mam funkcję, która dodaje detektory zdarzeń, które muszę wielokrotnie wywoływać. Byłem zaniepokojony tym, powodując pewne złe efekty uboczne. – user359519

+1

czy dotyczy to funkcji anonimowych? – ThorSummoner

+4

@ThorSummoner jeśli zdefiniujesz anonimową funkcję więcej niż jeden raz (np. W pętli), nowa funkcja jest definiowana za każdym razem. Więc nie będzie działać z anonimowymi funkcjami, chyba że raz utworzysz funkcję, zapiszesz ją w zmiennej i przekażesz zmienną do twojego wywołania 'addEventListener'. To i tak najlepsza praktyka. – tomekwi

3

Zależy od tego, do czego przyłączysz słuchaczy. Jeśli przyłączysz się do movieClipX i do movieClipY, będziesz miał dwóch słuchaczy, więc jeśli jeden z mcs zostanie usunięty, nadal będziesz miał drugiego słuchacza. Jeśli połączysz tego samego detektora z tym samym obiektem dwa razy, zachowa się on jak pojedynczy detektor.

1

Ponadto, aby zakończyć na już dostarczonych odpowiedzi, jeśli nie:

addEventListener(Event.ENTER_FRAME, update1); 
addEventListener(Event.ENTER_FRAME, update2); 

Wtedy będzie wykonać obie te funkcje. Później addEventLister NIE nadpisze poprzedniego, ale doda do istniejących detektorów, jak wskazuje nazwa metody (z wyjątkiem sytuacji, gdy funkcja detektora została już dodana, w takim przypadku nie zrobi nic, jak już stwierdzono w zaakceptowanej odpowiedzi) .

Powiązane problemy