[AS3] インスタンスをドラッグして回すクラス定義 [Edit]
投稿者:野中 文雄 | 投稿日:2010.10.01 | [AS 3][ActionScript][サンプル][野中ゼミ]
|
インスタンスをドラッグして回したり、マウスボタンを放して滑らせるアニメーション表現をクラス定義しました。[ライブラリ]のMovieClipシンボルに[クラス]として設定すれば、インスタンスのドラッグ&ドロップでそのようなインタラクティブな動きをします。 |
- ドラッグ&ドロップするMovieClipシンボルを作成してタイムラインに置き、Flashムービー(FLA)ファイルを保存します(ファイル名は任意)。
- ActionScript (AS)ファイルDragRotater.asをFLAファイルと同じ場所に保存します。
- [ライブラリ]のシンボルを選んで[シンボルプロパティ]ダイアログボックスを開き([ライブラリ]パネルのオプションメニュー)、[クラス]に「DragRotater」を入力して、[OK]ボタンをクリックします(図001)。
図001■[シンボルプロパティ]ダイアログボックスで[クラス]を入力
これで作業は終わりです。[ムービープレビュー]を確かめると、クラスDragRotaterを設定したインスタンスがドラッグで回転し、マウスボタンを放すと減速しながら滑っていきます。
クラスに定義したつぎのふたつのプロパティを設定することができます(図002)。
- deceleration: 減速率を示し、0から1の間の値を指定します(値が小さいほど早く減速)。デフォルト値は0.8です。
- ratio: 回る勢いのつきやすさを示します(値が大きいほど回りやすい)。デフォルト値は0.02です。
図002■ふたつのプロパティで動きが変えられる
スクリプトの中身は、「インスタンスをドラッグで回して動かす」に解説しました。要点がわかりやすいように、クラスでなくフレームアクションを基本にしています。つぎのふたつがおもな課題です。
- マウスクリックした点が中心になるようにインスタンスを回す
- マウスポインタの動きをどのように回転の速さに反映させるか