マウスの軌跡から
'05/04/30
背景用に久々にActionScriptをいじってみました。
忘れないうちにメモ。
マウスカーソルの位置を追う猫のあしあと
ポイントとしては
こんなところですかねえ。
忘れないうちにメモ。
マウスカーソルの位置を追う猫のあしあと
ポイントとしては
- マウスカーソルに合わせて動く
- 直前の位置と現在の位置からムービークリップの角度を決める
- 右足・左足だから位置を少しずらす
こんなところですかねえ。
- 元になるムービークリップ(以下MC)を用意
あし本体- foot
- 元絵
- foot
- MC"foot"に"右足","左足"の設定
なんてこたない、1フレーム目、2フレーム目で位置を左右少しずらしておきます。
MC.foot 1フレーム、2フレーム目
stop();
これが複製の元になるMCになるのでインスタンス名を付けておきます。
インスタンス名:block
忘れるところだった!向きを右向きに水平に配置します!
→
こういう向きに。
- MC.あし本体にアクションをつけます。
MC.あし本体 ムービークリップアクション
onClipEvent (load) {
// MCの深度設定
n = 1;
//元の絵を非表示
this.block._visible=false;
// ブロック出現間隔
// 数字が大きければ間隔が大
Interval = 15;
// 画面に出現させるブロックの最大個数
kosuu = 10;
//マウス最初の位置
first_x=_xmouse;
first_y=_ymouse;
//タイマー初期化
time=0;
}
onClipEvent (mouseMove) {
if (time == Interval) {
// マウスが動く度にブロックを複製
n = (n
this.block.duplicateMovieClip("block"+n, n);
mc="block"+n;
this[mc]._visible=true;
//現在のマウスの位置
now_x=_xmouse;
now_y=_ymouse;
//前の位置との差分
sa_x=now_x-first_x;
sa_y=first_y-now_y;
//MC表示角度
nDegrees = Math.atan2(sa_x,sa_y)*180/Math.PI;
this[mc]._rotation = nDegrees;
// ブロックの位置を指定
if(n%2==0){
this[mc]._x = first_x;
this[mc]._y = first_y;
this[mc].gotoAndStop(1);
}
else{
this[mc]._x = first_x;
this[mc]._y = first_y;
this[mc].gotoAndStop(2);
}
//次の位置
first_x=_xmouse;
first_y=_ymouse;
// timeを初期化。
time = 0;
}
time++;
}
ポイントは何といってもここ。
nDegrees = Math.atan2(sa_x,sa_y)*180/Math.PI;
いわゆる三角関数なのですが…。
はあ~もうなんっにも覚えてません!!
やばいよ~最近中学生の数学の問題もあやうくなってきたことに気づきました…。とほほ。トシなのカッ…。詳しいことは解説したくてもできないので。
まんまこちらを写しました。 →FLASH TechNote
全体的なスクリプトも以前どこかのを参考にしたのですが…どこかわかんなくなっちゃった…すみません(汗)
大きい画面でやると結構楽しいです(^^)
Comments
No comments yet
TrackBacks
このエントリにトラックバックはありません




