フラッシュのAS2からAS3に移行:MovieClipプロパティ

Flashの開発中に、スクリプトでムービーを制御したい場合の基礎の考えにもなるので、MovieClips がよく使われます(Flash8からアニメーションは「ムービークリップ」という仕組みを覚えるとぐんと表現の幅が広がり,作成の効率も上がります)。

そのプロパティを変更することもフラッシュルーチンの一部となっています。 AS3では、MovieClipsのプロパティが少しも変わっているが、構文を統一するための変化です。

※As3Converter(@see As3Converter: ActionScript2をActionScript3にコンバータするツール)というANTタスクと一部のAS3クラスの集合で、AS2のソースをAS3に自動変換するツールもありますが、どうしても理解した上で使った方がいいと思いますね。

www.Digitechlog.com 20091018001 Flash Movieclip

AS3入門:MovieClipのプロパティ

以下は、AS2と AS3に最もよく使用されるMovieClipのプロパティです。変更が少ないが、重要なのは違いところを知っていることです。AS3を使用するとき、ActionScriptのエラー防止に役立ちます。

位置決め:x座標とy座標を使用してMovieClipの位置を決定する

//— AS2
myMc._x = 100;
myMc._y = 100;

//— AS3
myMc.x = 100;
myMc.y = 100;

パーセントでScaling : 既存のサイズに基づいてMovieClipを調整する 

//— AS2
myMc._xscale = 10; //Note: Value expects a whole number
myMc._yscale = 10; //Note: Value expects a whole number

//— AS3
myMc.scaleX = .10; //Note: Value expects a decimal number
myMc.scaleY = .10; //Note: Value expects a decimal number

高さと幅でScaling: 正確な高さと幅でMovieClipを調整する

//— AS2
myMc._height = 50;
myMc._width = 100;

//— AS3
myMc.height = 50;
myMc.width = 50;

回転: MovieClipを回転する

//— AS2
myMc._rotation = 90;

//— AS3
myMc.rotation = 90;

可視性: MovieClipの可視性をコントロールする

//— AS2
myMc._visible = false;

//— AS3
myMc.visible = false;

透明性:αまたはMovieClipの透明度を調整する

//— AS2
myMc._alpha = 75; //Note: Value expects a whole number

//— AS3
myMc.alpha = .75; //Note: Value expects a decimal number

違い?
最大の相違点がわかりましたか?シンプリシティーにするため、MovieClipのプロパティのアンダースコアを削除した。また、scaleX、scaleYとalphaプロパティを見てください。今では整数ではなく、10進値が指定されます。

役立つ短文になれば、嬉しいです。

補足内容として、MovieClipのプロパティ、メソッド、イベントの説明を挙げます。

メソッド 説明

MovieClip.attachAudio() マイクまたはFLVからの音をムービークリップに割り当てる。
MovieClip.attachMovie() ライブラリ内のSWFまたはムービークリップを割り当てる。
MovieClip.createEmptyMovieClip() 空のムービークリップを作成する。
MovieClip.createTextField() 空のテキストフィールドを作成する。
MovieClip.duplicateMovieClip() 指定されたムービークリップを複製する。
MovieClip.getBounds() 指定の領域の境界までの最小および最大の距離を返す。
MovieClip.getBytesLoaded() 指定したムービークリップにロードされたバイト数を返す。
MovieClip.getBytesTotal() ムービークリップのサイズをバイト単位で返す。
MovieClip.getDepth() ムービークリップの深度を返す。
MovieClip.getInstanceAtDepth() 指定の深度にあるムービークリップの参照を返す。
MovieClip.getNextHighestDepth() 次に利用可能な深度を返す。
MovieClip.getSWFVersion() パブリッシュされた時のFlash Playerのバージョン。
MovieClip.getTextSnapshot() 静止テキストのテキストを取れるTextSnapshotオブジェクトを返す。
MovieClip.getURL() URLのページをブラウザに表示する。
MovieClip.globalToLocal() ステージ座標を指定されたムービークリップのローカル座標に変換する。
MovieClip.gotoAndPlay() ムービークリップのフレームを移動して再生を続ける。
MovieClip.gotoAndStop() ムービークリップのフレームを移動して再生を停止する。
MovieClip.hitTest() ムービークリップ同士が交差するか、または指定のポイントが内側にあるかどうかを返す。
MovieClip.loadMovie() SWFファイルまたはJPEGファイルをムービークリップにロードする。
MovieClip.loadVariables() 変数の値を外部ファイルから読み込む。
MovieClip.localToGlobal() ムービークリップのローカル座標をグローバル座標に変換する。
MovieClip.nextFrame() ムービークリップを次のフレームへ進める。
MovieClip.play() 指定されたムービークリップを再生する。
MovieClip.prevFrame() ムービークリップを手前のフレームに戻す。
MovieClip.removeMovieClip() 複製またはアタッチされたムービークリップをタイムラインから削除する。
MovieClip.setMask() ムービークリップを指定されたムービークリップのマスクとして設定する。
MovieClip.startDrag() ムービークリップのドラッグを開始する。
MovieClip.stop() 再生中のムービークリップを停止する。
MovieClip.stopDrag() startDrag()のドラッグを停止する。
MovieClip.swapDepths() 2つのムービークリップの深度を入れ替える。
MovieClip.unloadMovie() MovieClip.loadMovie() でロードしたSWFファイルを削除する。

描画メソッド 説明

MovieClip.beginFill() 塗りの描画を開始する。
MovieClip.beginGradientFill() グラデーションの塗りの描画を開始する。
MovieClip.clear() 描画メソッドを使って実行時に作成したグラフィックを削除する。
MovieClip.curveTo() 曲線を描画する。
MovieClip.endFill() 塗りを終了する。
MovieClip.lineStyle() 線のスタイルを定義する。
MovieClip.lineTo() 直線を描画する。
MovieClip.moveTo() 描画開始位置を移動する。

プロパティ 説明

MovieClip._alpha ムービークリップインスタンスの透明度。
MovieClip._currentframe 再生ヘッドがあるフレーム番号。
MovieClip._droptarget ムービークリップをドロップした先の絶対パス (スラッシュシンタックス表記)。
MovieClip.enabled ムービークリップの有効/無効を示すブール値。
MovieClip.focusEnabled フォーカスを受け取るためにムービークリップを有効にするブール値。
MovieClip._focusrect フォーカスがあるムービークリップを黄色の矩形で囲むかどうかを示すブール値。
MovieClip._framesloaded ストリーミングSWFファイルからロードされたフレーム数。
MovieClip._height ムービークリップインスタンスの高さを示すピクセル数。
MovieClip.hitArea 別のムービークリップのヒット領域となるムービークリップへの参照。
MovieClip._lockroot SWFファイルをムービークリップにロードしたときに_rootを固定するかどうか。
MovieClip.menu ContextMenu オブジェクトをムービークリップに関連付けるオブジェクト。
MovieClip._name ムービークリップインスタンスのインスタンス名。
MovieClip._parent ムービークリップを囲む親ムービークリップへの参照。
MovieClip._quality SWFファイルのレンダリング品質を設定するストリング。
MovieClip._rotation ムービークリップインスタンスの回転角度。
MovieClip._soundbuftime サウンドのストリーミングを開始するまでのバッファ秒数。
MovieClip.tabChildren ムービークリップの子が自動タブ順に含まれているかどうかを示すブール値。
MovieClip.tabEnabled ムービークリップがタブ順に含まれているかどうかを示すブール値。
MovieClip.tabIndex オブジェクトのタブ順を示す数値。
MovieClip._target ムービークリップインスタンスのターゲットパス。
MovieClip._totalframes ムービークリップインスタンスのフレーム総数。
MovieClip.trackAsMenu 他のムービーがマウスの解放イベントを受け取ることができるかどうかを示すブール値。
MovieClip._url ムービークリップとしてダウンロードしたSWFファイルの URL。
MovieClip.useHandCursor マウスがロールオーバーしたときに指カーソルにするかどうかを示すブール値。
MovieClip._visible ムービークリップインスタンスの表示/非表示を示すブール値。
MovieClip._width ムービークリップインスタンスの幅を示すピクセル数。
MovieClip._x ムービークリップインスタンスのx座標。
MovieClip._xmouse ムービークリップインスタンス内のマウスカーソルのx座標。
MovieClip._xscale ムービークリップの水平方向の拡大/縮小率を指定する値。
MovieClip._y ムービークリップインスタンスのy座標。
MovieClip._ymouse ムービークリップインスタンス内のマウスカーソルのy座標。
MovieClip._yscale ムービークリップの垂直方向の拡大/縮小率を指定する値。

イベントハンドラ 説明

MovieClip.onData すべてのデータをムービークリップ内にロードしたとき。
MovieClip.onDragOut クリックしてプレスしたままで、ポインタをムービークリップの外側に出したとき。
MovieClip.onDragOver マウスボタンを押したままムービークリップの外側に移動し、再び戻ったとき。
MovieClip.onEnterFrame フレームが進むたびに呼び出される。
MovieClip.onKeyDown フォーカスがあるときにキーを押したとき。
MovieClip.onKeyUp フォーカスがあるときにキーを離したとき。
MovieClip.onKillFocus ムービークリップからフォーカスを移動したとき。
MovieClip.onLoad ムービークリップがインスタンス化してタイムラインに読み込まれたとき。
MovieClip.onMouseDown 左マウスボタンを押したとき。
MovieClip.onMouseMove マウスのポインタが移動するたび。
MovieClip.onMouseUp 左マウスボタンを離したとき。
MovieClip.onPress ポインタがムービークリップ上にあるときにマウスボタンを押し下げたとき。
MovieClip.onRelease ポインタがムービークリップ上にあるときにマウスボタンを離したとき。
MovieClip.onReleaseOutside ムービークリップ上をクリックし、ムービークリップの外でボタンを離したとき。
MovieClip.onRollOut マウスカーソルがロールアウトしたとき。
MovieClip.onRollOver マウスカーソルがロールオーバーしたとき。
MovieClip.onSetFocus ムービークリップにフォーカスが入ったとき。
MovieClip.onUnload ムービークリップをタイムラインから削除した後。

Leave a Reply

Your email address will not be published. Required fields are marked *