Osobiście korzystam z niestandardowych wydarzeń po prostu dla łatwości użytkowania. Mogę jedną klasę wysłać zdarzenie, gdy coś się stanie (powiedzmy, że kończy się animacja lub wystąpi błąd w pobieraniu) i dowolna liczba innych klas uruchamia dowolną liczbę innych funkcji opartych na tym zdarzeniu. Ponadto koduję możliwość ponownego użycia. Celem każdej klasy jest pełna niezależność, dzięki czemu może ona działać w dowolnym projekcie bez potrzeby innych pakietów. Więc zamiast jednej klasy wywołać metodę innej klasy, wysyłam zdarzenie z pierwszej klasy, której słucha druga klasa, a następnie uruchamiam tę metodę. Kiedy potrzebuję tej pierwszej klasy dla innego projektu, mogę po prostu skopiować/wkleić go bez konieczności modyfikacji i bez utraty funkcjonalności.
EDYCJA: Warto również zauważyć, że czasami ludzie robią to, co opisujesz, i przechodzą przez argumenty zdarzeń.
Załóżmy, że masz przycisk na scenie i musisz go kliknąć, ale musisz również móc ręcznie wywołać tę metodę. Niektórzy ludzie nie zdają sobie sprawy, że możesz przekazać wydarzenie zerowe i mieć tylko jedną metodę. Lub można ustawić go jako domyślny argumentu null, patrz poniżej:
private function onClickHandler(e:MouseEvent = null):void{
//as long as you never reference "e" within this method, this method can be used both for MouseEvent listeners and manually calling it elsewhere in the code
}
Ta technika może pomóc uniknąć konieczności obsługi zdarzeń, który tylko wywołuje inny sposób i nic innego. W tym momencie w moim programowaniu każda instrukcja obsługi zdarzenia AS3, którą zapisuję, domyślnie ustawia argument zdarzenia na wartość null. Po prostu ułatwia to później.
cóż, tworzenie odniesienia za każdym razem, gdy potrzebujesz metody, ułatwia życie śmieciarzowi =) (będzie miał mniej powodów do zmartwień). – Ziul