投稿者:野中 文雄 | 投稿日:2008.01.17 | [AS 3][ActionScript][Tips][野中ゼミ] クラス名を文字列で参照して、コンストラクタを呼出したいことがあります。 たとえば、複数のクラスから、動的にひとつを選んでインスタンスを作成したいという場合です。あるいは、複数のシンボルに[リンケージプロパティ]で連番のクラス名を設定して、ループ処理によりそれらのインスタンスを作成するといった目的も考えられます。本稿では後者を例に、その方法をご紹介します。 MovieClipシンボルのインスタンスを動的に作成する まず、ActionScript 3.0で、MovieClipシンボルのインスタンスを動的に作成する方法について、簡単に確認しておきましょう[*1]。 ActionScript 3.0では、シンボルの[リンケージプロパティ]ダイアログボックスで、[識別子]ではな
前回の第22回「MovieClipシンボルにクラスを定義する」では、MovieClipシンボルに設定するクラスEllipticMotionを定義した(図1)。シンボルに設定したクラスは、シンボルのグラフィックやタイムラインなどのアセットに関連づけられる。その結果、インスタンスは、シンボルのアセットをデータとしてもつことになる。 図1 [シンボルプロパティ]のダイアログボックスに[クラス]を設定 EllipticMotionインスタンスをタイムラインに配置すると、シンボルのグラフィックが表示され、楕円を描いて3D風にアニメーションした(図2)。もっとも、前回のEllipticMotionクラスの処理内容は、以前の第17回「3D風に回転するアニメーション」で書いたフレームアクションに、クラスとして最小限の手を加えたものに過ぎない。 図2 シンボルのグラフィックが3D風に回転のアニメーシ
前回の第23回「クラスのデザインとループ処理」では、EllipticMotionクラスのデザインを将来の拡張も考えて整理し、タイムラインのフレームアクションでは繰返し処理により複数のインスタンスを配置した(図1)。 図1 複数のインスタンスが楕円軌道でアニメーションする 今回の課題は、まずインスタンスの回転するスピードを、マウスポインタの位置によって変えることにする。つぎに、インスタンスの重ね順を、3次元風の表現に対応するよう修正しよう。 図2 インスタンスの重ね順が3次元風の表現に一部対応していない マウスポインタの位置に応じてインスタンスの回転スビードを変える まずは、インスタンスが回転するスピードを、マウスポインタの位置によって変えるため、前回のスクリプト2で修正定義したEllipticMotionクラスにもう少し手を加えよう。 今のところ、インスタンスのアニメーションは、コンス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く