アクションスクリプト事始の幕開けは、オブジェクトの移動である。 ボールがある位置(座標)におかれ、そのボールが右へ、真下へ、左へ、真上へと移動し元の位置に帰ってくる単純な移動である。 もちろんこの動きは、スクリプトを使わずにモーショントゥイーンで作成することが出来るが、スクリプトでこの動きを作ることにより、スクリプトとはこんなものなんだと言うことを体験してもらうには丁度良い例になると思われる。 ボールの初期設置 ムービーが開始された時に、ボールを置く位置を指定することが出来る。 この指定をしなくても、オブジェクトが描かれた位置をプログラムが読み取るので特に指定しなくて良いことも多いが、この場合はスタート地点にボールを正確に戻すために設定が必要である。 まずステージにボールを描き、シンボルに変換する。 このとき基準点を中心に置き、x、y座標が(50,50)近辺になるように描く。 次に、オブジェクト(インスタンス)をクリックして選択し、アクションパネルを開いてスクリプトペイン(記述部)に以下のスクリプトを書く。 |
|
onClipEvent (Load) { this._x = 50; this._y = 50; } |
このムービークリップが開始されたら、 このオブジェクトのx座標を50とする(ステージ左上を基点とするピクセル値) このオブジェクトのy座標を50とする 実施する内容は{ と } で前後を挟み、 一つ一つの設定は ;で締めくくる。 |
ボールの直線移動 次に上の記述に続いてボールを右へ移動するために以下の記述をする。 |
|
onClipEvent (enterFrame) { this._x = this._x + 10; } |
フレームが再生されるたびに(時間の経過とともに) このオブジェクトのx座標を10ピクセルずつ増加させる。(右へ動く) this._x = this._x + 10; は、this._x += 10; と記述されることが多い。 |
ただし、この記述だとボールはどんどん右へ移動し、ステージの外へ出て消えてしまう。 そこで、もしx座標が300pxを超えたら、もとの50に戻りなさいという記述を加えておくとステージの中で何度も行き来を繰り返すクリップとなる。 以下のスクリプトで実際のボールの動きを見てみよう。 |
|
onClipEvent (enterFrame) { if (this._x > 300) { this._x = 50; } this._x += 10; } |
|
次に、ボールが右へ300px動いたところで、左に折り返し、元の位置で右に折り返す往復運動のクリップを作成する。 | |
onClipEvent (Load) { this._x = 50; this._y = 50; d=10; } onClipEvent (enterFrame) { this._x += d; if (this._x <50 || this._x>300) { d = -d; } } |
|
まず、ムービーが開始されたら、フレーム当たりの移動距離 d を10pxと定義しておく。 if ( A || B ) { C; } は、もし、AもしくはBならば、Cを実行するというスクリプトで、ボールのx座標が、300を超えるか、50を下回ったら、dの符号を反対にする(移動方向を逆向きにする)という意。 |
|
次に、ボールが右へ300px動いたところで、下向きに向きを代えて移動し、200px動いたところで左、さらに300px動いたところで上へ向きを代え、元の位置に戻ってくるクリップを作ってみよう。 全てのスクリプトを以下に示す。 | |
onClipEvent (load) { this._x = 50; this._y = 50; } onClipEvent (enterFrame) { if (this._x <300 && this._y == 50) { this._x += 10; } else if (this._x == 300 && this._y <200) { this._y += 10; } else if (this._y == 200 && this._x >50) { this._x -=10; } else if (this._x == 50 && this._y>50) { this._y -= 10; } } |
|
若干スクリプトの説明を加えておくと、 if ( A ) { B; } もし、Aならば、Bを実施する else if ( A ) { B; } それ以外で、もしAならばBを実施する y == 50; yが50に等しい。(y = 50 の場合は、yを50とする(置く)と言う意) && and と同じ。 ちなみに or は|| と記述する。 |
|
|
|
HOME お勉強総リスト |