この講座は,flashソフトを用いてflashアニメをスクリプトで制作し無料で公開したものです

FLASH講座 ーアクションスクリプトの実践的事始めー
基本編
(2)オブジェクトの移動(曲線移動)

 モーショントウイーンをステージ上で作成するときは、ペンツールなどで曲線を描き、それをモーションガイドとして曲線移動をさせます。 しかしアクションスクリプトを使うと定義した式に沿って移動させることも出来ます。 ここでは、2次関数、3角関数を使った曲線移動を受講します。

ボールの初期設置
 前節参照。

ボールの曲線移動
(1)2次曲線
   y = a*(x-b)*(x-c) + d と言う2次関数で表される曲線に沿ってオブジェクトを移動させる。 2次関数をこの形にしているには、b,cでx軸に交わり、dでy軸に交わる曲線ということで、曲線のイメージがわきやすいと思っただけである。 a,b,c,d に適当な数値を割り当てて作成したスクリプトとその動きを以下に示す。 xの値は50から200の間で繰り返すようにしてある。 変極点に近いところでは時間当たりの変化が少ないので、減速して見える。
 onClipEvent (load) {
   this._x = 50;
   this._y = 50;
 }
 onClipEvent (enterFrame) {
  this._x += 2;
  if (this._x > 200) { this._x = 50; }
  this._y = -0.04*(this._x-200) *(this._x-50) + 50;
 }

   
(2)サインカーブ
   y = a*sin(bx)+c と言う三角関数で表される曲線に沿って移動する場合のスクリプトも同様に作成できる。
 onClipEvent (load) {
   this._x = 50;
   this._y = 100; }
 
 onClipEvent (enterFrame) {
  if (this._x >350) {this._x = 50; }
   this._x=this._x+5;
   this._y=40*Math.sin(this._x/18)+100;
 }
(3)円運動
 円を描かせるのは、x、yの関係を使った上の例とちょっと違って、次式の角度(θ)を増加させてx、yの変化を描かせる手法をとる。
   x=x0 + r*cos(πθ/180)、 y=y0 + r*cos(πθ/180)
 ここで、x0,y0は中心座標、rは半径、θは角度(0-360)を表す。 以下に、スクリプトと動きを示す。
 onClipEvent (load) {
   this._x = 50;
   this._y = 100;
   kaku = 0;
 }

 onClipEvent (enterFrame) {
 this._x = 100 + 50*Math.cos(kaku/60);
 this._y = 100 + 50*Math.sin(kaku/60);
 kaku += 3;
 }


(注)
 kakur=0;
  変数kakuの初期値:0
       
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 このサイトで使用しましたflashソフトはflash mx 2004年版(Flash Japan)- flash8 及び FlashCS3-2007年版です。
 flash講座(フラッシュ講座)は、Yoshioka氏(通称、ひげ親父)による制作です。 コツコツと作られたflash素材(flashアニメ、スクリプト)はユーザーの方により保存変更され動画flash(動画フラッシュ)や携帯flash(待受flash)として利用されて来ました。
 氏は、flashスクリプトについての学習を、パソコン塾講師活躍中に始められ、独立した今も続けておられます。 
  macromedia flashソフトは新しくadobe flash時代に入りましたので、これを機会にflash学習サイトを「flash講座1234」としてリニューアルいたしました。 引き続きご愛顧承りますよう、よろしくお願いいたします。                                                                           (by Hiraoka)
HOME   Flash講座総リスト flash action script 基本編 (3)