Macromedia Flash非公式テクニカルノート Object.registerClass
Platform: All シンタックス 引数 クラス ActionScriptのコンストラクタ関数への参照。'null'を指定すると、シンボルの登録を削除します。 戻り値 説明 指定したムービークリップシンボルのインスタンスがタイムラインに配置されると、引数[クラス]で指定したクラスに登録され、MovieClipクラスには帰属しません。 指定したムービークリップシンボルのインスタンスが'attachMovie'または'duplicateMovieClip'メソッドで作成された場合も、 引数[クラス]で指定したクラスに登録され、MovieClipクラスには帰属しません。 [クラス]を'null'にすると、'Object.registerClass'は、指定したムービークリップシンボルまたはクラス識別子が帰属しているActionScriptクラスの定義を削除します。ムービークリップシンボルについては、すでに存在しているMovieClipのインスタンスは、そのまま変更がありません。けれど、シンボルの新たなインスタンスは、デフォルトのクラスであるMovieClipクラスに帰属します。 シンボルがすでにクラスに登録されていたら、'Object.registerClass'メソッドはそれを新規の登録で置換えます。 MovieClipインスタンスがタイムラインで配置されたり、'attachMovie'や'duplicateMovieClip'で作成されたとき、ActionScriptはコンストラクタを呼出し、'this'キーワードでオブジェクトを参照します。コンストラクタ関数は、引数なしで呼出されます。 'Object.registerClass'メソッドを使って、ムービークリップをMovieClip以外のActionScriptクラスに登録すると、そのムービークリップシンボルはビルトインMovieClipクラスのメソッドやプロパティ、イベントを継承しません。ただし、MovieClipクラスを新規クラスのプロトタイプチェーン内に含めた場合は、このかぎりではありません。以下のコードは、新規のActionScriptクラスであるtheClassに、MovieClipクラスのプロパティを継承させます。 theClass.prototype = new MovieClip(); 例 まず、Check Boxという名前(訳者註: これはムービークリップのシンボルの名前です。スクリプトで使用するリンケージ識別子は、別途設定します)のムービークリップシンボルを、ライブラリに作成します。そして、CheckBoxクラスをActionScriptで作成して、このチェックボックスを帰属させます。
// CheckBoxクラスのコンストラクタ定義(すなわちクラス定義)
// CheckBoxのプロトタイプチェーンにMovieClipを継承
// CheckBoxクラスのメソッドを定義 ここで、CheckBoxクラスにムービークリップシンボルCheck Boxを帰属させます。まず、ムービークリップシンボルCheck BoxをActionScriptで識別できるようにしておく必要があります。そのためには、ライブラリのリンケージダイアログボックスで識別子(訳者註: 記載はありませんが、"CheckBox"とするのでしょう)を入力して、「ActionScriptに書き出し」を選択します。 つぎに、ActionScriptを記述して、CheckBoxクラスにCheckBoxシンボルを帰属させます。 Object.registerClass("CheckBox" /*symbolID*/, CheckBox /*theClass*/ ); [訳者註] ステートメントをこのまま記述して「自動フォーマット」を行うと、エラーになります(「シンタックスチェック」では、エラーを返しません)。/*...*/は、コメントを意味しています。スクリプトとしては、このコメントを除いてつぎのように記述した方が、トラブルは少ないでしょう。 Object.registerClass("CheckBox", CheckBox); 使用例1(タイムラインへの配置): CheckBoxのインスタンスを、ステージにオーサリングツールで配置します。すると、ランタイムでは、インスタンスはActionScriptクラスCheckBoxを継承します。2つのインスタンス、myCheckBox1およびmyCheckBox2を配置すると、それぞれのメソッドを以下のように呼出して制御することができます。
myCheckBox1.setValue(true); 使用例2(動的なインスタンスの作成): 'attachMovie'メソッドを使えば、ムービーの再生中にチェックボックスの新しいインスタンスをステージ上に作成することができます。CheckBoxシンボルはActionScriptのCheckBoxクラスに登録されているので、動的に生成された新規インスタンスは自動的にそのクラスを継承します。
// 補助用functionのcreateCheckBox Player 関連項目 出典 _____ 作成者: 野中文雄 Copyright © 2001-2006 Fumio Nonaka. All rights reserved. |
|||