在ActionScript 3.0之前的Event Model,簡單來說就像是個各自為政的Model,若是硬要評比的話~好處是簡單易用、彈性大~而壞處是沒有統一的Event Model,容易造成學習者混淆~尤其是當一些小細節被忽略時,往往深埋著不定時炸彈,所以在事件的處理上,了解並掌握它是不可或缺的~
「onClipEvent」and「MovieClip.onXXX」執行的優先權
我們建立一個MovieClip在Stage上,並將它命名為「a_mc」,並在此MovieClip上加些程式以便驗證。
onClipEvent(load) { trace("a_mc(load):"+this); }
然而在MainTimeline也寫入下述程式:
a_mc.onLoad = function() { trace("a_mc(onLoad):"+this); } trace("frame[1]");
然後在此MovieClip的Frame[1]也加上:
trace("a_mc(frame[1]):"+this);
最後一樣「Ctrl + Enter」來看結果:
frame[1] a_mc(load):_level0.a_mc a_mc(onLoad):_level0.a_mc a_mc(frame[1]):_level0.a_mc
從結果來看就可以證明「onClipEvent」的執行優先權比「MovieClip.onXXX」來的高!