宿題4のFlashファイル

Flash宿題4の.flaファイルです。
理解しやすいように枠をつけました。
今回はActionScriptを使わずに、ステージの左(1フレーム)と右(20フレーム)にキーフレームを設定して、モーショントゥイーンを使えば、出来てしまうんですが…
それは今回は避けましょう! あくまでもActionScriptのお勉強ですので…
今回は変数if文を使用しています。


●蝶が左から右へと動く
まずはこれから考えましょう。左から右へと動く。言い換えたら、蝶のx座標に一定の数値が加えれらていくではないでしょうか?
最初の蝶のx座標を0としてみましょう。swfファイルが読み込まれる度に右に動いていくわけですから、ここでxの数値に例えば10をプラスしていけば、x座標は10、20、30、40…と増えていき、蝶が右へ動いたように見えます。
これをスクリプトで書いてみましょう。


onClipEvent(enterFrame){
this._x += 10;
}


ムービープレビューすれば蝶は右に動いていきます。
onClipEvent(enterFrame){〜}フレームが更新される度に〜するというものです。
スクリプトを日本語で書くと、フレームが更新される度に、this(蝶)のx座標に10ずつ加えるです。
thisは昨日の説明の通りに、オブジェクト自身を指します。
+=は右辺の値を左辺に加えるという意味です。10ずつ左辺の値を増やしていくです。


これで動くことは動くのですが、変数を使って書き換えてみましょう。変数は今後とても重要になってきますので、ここで多少なりとも理解しておきましょう!


●変数って何?
ActionScriptでは何度も再利用する語などは、名前をつけた入れ物(器)を用意して、そこに入れておく必要があります。そして必要な時にそこから引っぱり出してくるのです。データベースみたいな感じですね。
そのデータを入れておく入れ物(器)のことを変数といいます。


●変数の代入
変数に値を入れることを代入といいます。
変数名=値;」と記述します。 例)hensu=10;(変数hensuに10を代入)
「=」は数学のイコール(等しい)ではなく、右辺の値を左辺に代入することを表します。注意が必要です。


さて変数を用いて、上記のスクリプトを書き直してみます。


//ムービークリップがロードされたら、変数speedXに初期値を代入する
onClipEvent(load){
speedX=10;
}
//フレームが更新される度に、現在の位置に10ずつプラスする
onClipEvent(enterFrame){
if(this._x>550){
this._x=-50;
}
this._x=this._x+speedX;
}


このようになります。
今回は変数をspeedX(x軸に動くのでxをつけました)としましたが、これはhensuでもFlash予約語でなければ何でもOKです。
予約語については『勉強会Style-A』で解説アリです。


onClipEvent(load){〜}ですが、これはswfファイルが読み込まれた直後に〜が実行されます。フレームアクションよりも先にです。
変数の初期化やプロパティの設定によく使います。


ここで見慣れないものが出てきました。if文です。


●条件式if文●
if文は条件式と呼ばれ「もし〜だったら〜する」という使い方をします。
余談ですが数年前、進●ゼミのコマーシャルで「もし私が鳥だったら、自由に大空を飛べたのに(←正確ではないかもです)」というものがありました。
そうです、あれです。それを今回のものに当てはめてみます。


「蝶がステージを行ききってしまったら、再び左側から現れるようにする」


言い換えてみましょう。今回のFlashのドキュメントサイズは550×400pxです。


蝶のx座標が550より大きくなってしまったら、強制的にステージの左側へ戻す


どうでしょうか? ちょっとは分かりやすくなったでしょうか?


蝶のx座標が550より大きくなってしまったらの部分が、if(this._x>550)の部分です。
強制的にステージの左側へ戻すの部分が、this._x=-50;の部分です。
ステージの左側というのは、ステージの基準点は左上(0、0)です。それよりも左に蝶をもって行けばいいのです。だからマイナスになっています。
その後に書いてある「this._x=this._x+speedX;」は蝶を10ずつ右に動かすというものです。
「this._x = this._x + speedX;」は「this._x += speedX」とも書くことが出来ます。


これでムービープレビューをすれば、ステージを行ききってしまった蝶は、左から再び登場します。


Flash宿題4の応用編.flaファイルです。