全体表示

[ リスト ]

Eテレの国宝を尋ねてと言う番組の
右下に使われていたフラッシュを
真似てみる
①任意の位置に発生
②発生位置から微妙にずれ外に向かって移動
③微妙にずれている時大きくなり外に向かう時スピードが速くなり小さくなって消える
④複製数は10個程度
600×600のプロジェクトサイズ
背景色は黒または暗め
100×100の白い円で作成

まず①から
onClipEvent(load){
sx = 300;  //中心座標 とりあえず中心に
sy = 300;
c = 0;    //カウンター初期値
_x = sx;    
_y = sy;
ds = 5;       //移動速度
_xscale = 10;     //初期サイズ
_yscale = _xscale;

}
-
onClipEvent(enterFrame) {
   }


これを外の方向に移動
三角関数を使いますx軸方向移動量を求める
x軸方向移動量 = Math.cos( 角度 * Math.PI / 180 ) * 距離
y軸方向移動量 = Math.sin( 角度 * Math.PI / 180 ) * 距離
rr = Math.random()*360;  //360度ランダム値
と移動速度ds = 5; 

これを元に
ds = 5; の下に追加設定
rr = Math.random()*360;
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;

フレームあたりの移動量が出たので
onClipEvent(enterFrame) {
_x += dx;
_y += dy;
   }

始めはゆっくり徐々に早く移動
onClipEvent(load){
sx = 300;  //中心座標 とりあえず中心に
sy = 300;
c = 0;    //カウンター初期値
_x = sx;    
_y = sy;
rr = Math.random()*360;
is = 90;
iz = 0;
dz = Math.cos( is * Math.PI / 180 ) * 5; 
ds = Math.cos( is * Math.PI / 180 ) * 5;       //移動速度
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_xscale = 0;     //初期サイズ
_yscale = _xscale;

}
-
onClipEvent(enterFrame) {
is -= 1;iz += 1;
ds = Math.cos( is * Math.PI / 180 ) * 5;      
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_x += dx;
_y += dy;
_xscale += dz;     
_yscale = _xscale;
   }

これに急激に大きくなり徐々に小さくなる設定を加えると出来上がり
onClipEvent(load){
sx = 300;  //中心座標 とりあえず中心に
sy = 300;
c = 0;    //カウンター初期値
_x = sx;   
_y = sy;
rr = Math.random()*360;
is = 90;
iz = 0;
dz = Math.cos( iz * Math.PI / 180 ) * 5; 
ds = Math.cos( is * Math.PI / 180 ) * 5;       //移動速度
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_xscale = 0;     //初期サイズ
_yscale = _xscale;

}
-
onClipEvent(enterFrame) {
is -= 1;iz += 3;
if (iz== 90){iz = 180;}
ds = Math.cos( is * Math.PI / 180 ) * 5;      
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_x += dx;
_y += dy;
dz = Math.cos( iz * Math.PI / 180 ) * 5;
_xscale += dz; 
if (_xscale < -1){c = 0;    //カウンター初期値
_x = sx;   
_y = sy;
rr = Math.random()*360;
is = 90;
iz = 0;
dz = Math.cos( iz * Math.PI / 180 ) * 5; 
ds = Math.cos( is * Math.PI / 180 ) * 5;       //移動速度
dx = Math.cos( rr * Math.PI / 180 ) * ds;
dy = Math.sin( rr * Math.PI / 180 ) * ds;
_xscale = 0;     //初期サイズ
_yscale = _xscale;}   
_yscale = _xscale;
   }
同じものを作っても意味が無いのでこれを利用してクリスマス用の

よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事