03/08/12 15:18
確かに・・・本家のコンポーネントもonLoadなんてつかってないしなぁ
ただ見た目の動作的に同じでも意味的には
「クラスインスタンスが生成された」と「インスタンスがタイムラインに表示された」の違いがある。
それぞれ発生タイミングも違う。(下記AS参照)
--------------------------------------------------------------------
1.ムービークリップを一つ用意、リンケージ識別子を「MC」にする
そのムービークリップのフレーム1に下記のASを記述
#initclip
NewClass = function(){
var time = getTimer();
var time2 = Math.random()*3000;
while(getTimer() - time < time2){}//擬似的に負荷をかける
trace("NewClassコンストラクタタイム:"+getTimer());
}
NewClass.prototype = new MovieClip();
NewClass.prototype.onLoad = function(){
trace("NewClass.onLoadタイム:"+getTimer());
}
Object.registerClass("MC",NewClass);
#endinitclip
2.ルートタイムラインに下記のASを記述
_root.attachMovie("MC","newMC1",10);
_root.attachMovie("MC","newMC2",11);
_root.attachMovie("MC","newMC3",12);
-------------------------------------------------------------------
で、この違いを何に使うかは使う人次第。
もしかしたらMovieClip.prototype.onLoadだけでも面白いのが作れるかもしれない。
そんなわけで、意味が無いとは言い切れな・・・多分。