実践ムービーで身につくActionScript
プロパティを使いこなす
それでは、ここからアクションスクリプトを使ったアニメーション作成を実践していきます。オブジェクトのプロパティ値を変更しながらアニメーションの動作を試してみましょう。
サンプル4の自動車のプロパティ値を変化させてアニメーションを作っていきます。サンプルをダウンロード(http://www.thinkit.co.jp/images/article/81/1/8113.zip)(8113.zip/18.9 KB)。
まず自動車のイラストをムービークリップのシンボルとして、そのインスタンスをシーンに配置します。この時インスタンス名を「myCar」と名づけます。このインスタンス名がオブジェクトの名前となります。
次に、別のボタンシンボルを2つ作成します。「左へ」ボタンと「右へ」ボタンです。そしてボタンシンボルに直接ソース1のスクリプトを記述します。
「on(realse){ }」はボタンにかかわるアクションです。一度押したボタンを放した時に動作します。このように何かのイベントをきっかけに動くスクリプトの仕組みを「イベントハンドラ」と呼びます。ボタンアクションには、「on(click)」という押した時に動作するイベントハンドラもありますが、ボタンを押したまま、ほかの場所へドラッグするシチュエーションもあるので、releaseを使うことが一般的となっています。
ActionScriptの読み方
今回のスクリプトを分かりやすくするために、実行された内容を解説します。
on (realse) {
myCar._x = myCar._x + 10;
}
on(release)のイベントの指定は「ボタンが放された時」に、{ }の中を実行するということです。プロパティの「_x」は、X位置の意味です。
左辺の「myCar._x」は、「今のmyCarのX位置」を意味し、右辺の「myCar._x + 10」は、「myCarのX位置に10ピクセル足す」という意味になります。そしてプログラミングで使われる=(イコール)は等しいではなく、「代入」を意味します。左辺に右辺の値を代入するイメージです。
このようにActionScriptの実行内容を日本語に置き換えることで、プログラミング言語の理解が分かりやすくなるでしょう。
またこの形は省略系にできます。「myCar._x = myCar._x + 10;」を「myCar._x += 10;」にできます。「+=(プラス・イコール)」にすると、左辺の値にプラス10代入する意味になるので実行内容は上記と同じです。
今回は、ActionScriptによるアニメーション作成をするうえで、基本概念となる「ムービークリップ」と、プログラム概念となる「オブジェクト指向」を解説しました。それを元にムービークリップのプロパティ値の操作を実践しました。
次回は、プログラミングの処理作業をまとめる「関数」と、動的な値を保存する「変数」を使ってアニメーションを作成します。このようにActionScriptの便利で効率的な機能を使いこなすことで、Flashのレベルアップを図っていきいましょう。