ActionScript 3.0 olay işleme modeli

ActionScript 3.0, önceki ActionScript sürümlerinde varolan farklı olay işleme mekanizmalarının yerini alan tek bir olay işleme modelini sunmaktadır. Yeni olay modeli, Belge Nesnesi Modeli (DOM) Düzey 3 Olaylar Belirtimi'ni esas alır.

ActionScript 2.0 addListener() yöntemini kullanma konusunda deneyimli geliştiriciler için, ActionScript 2.0 olay dinleyicisi modeli ile ActionScript 3.0 olay modeli arasındaki farklılıkların belirtilmesi yararlı olabilir. Aşağıdaki listede, iki etkinlik modeli arasındaki önemli farklılıklardan birkaçı açıklanmaktadır:

  • ActionScript 2.0'da olay dinleyicileri eklemek için, bazı durumlarda addListener() öğesini ve bazı durumlarda da addEventListener() öğesini kullanırsınız, ancak ActionScript 3.0'da ise tüm durumlarda addEventListener() öğesini kullanırsınız.

  • ActionScript 2.0'da herhangi bir olay akışı yoktur, başka bir deyişle, addListener() yöntemi yalnızca olayı yayınlayan nesnede çağrılabilirken, ActionScript 3.0'da addEventListener() yöntemi, olay akışının parçası olan herhangi bir nesnede çağrılabilir.

  • ActionScript 2.0'da, olay dinleyicileri işlev, yöntem veya nesne olabilirken, ActionScript 3.0'da yalnızca işlevler ya da yöntemler olay dinleyicisi olabilir.

  • on( event ) sözdizimi artık ActionScript 3.0'da desteklenmez, bu nedenle ActionScript olay kodunu bir film klibine ekleyemezsiniz. Olay dinleyicisi eklemek için yalnızca addEventListener() kullanabilirsiniz.

    aButton adındaki bir Button bileşeninde MouseEvent.CLICK olayını dinleyen aşağıdaki örnekte temel ActionScript 3.0 olay işleme modeli gösterilmektedir:

    aButton.addEventListener(MouseEvent.CLICK, clickHandler); 
    function clickHandler(event:MouseEvent):void { 
    trace("clickHandler detected an event of type: " + event.type);  
    trace("the event occurred on: " + event.target.name);  
    }

    ActionScript 3.0 olay işlemesi hakkında daha fazla bilgi için bkz. ActionScript 3.0'ı Programlama . Bileşenler için ActionScript 3.0 olay işlemesi hakkında daha fazla bilgi almak için bkz. Olayları işleme .