トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     パスに沿ったMCのY座標を動かす
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
oreokun
Åê¹ÆNo.18447
投稿日時: 2005-6-28 15:33
新米
居住地:
投稿: 6
使用環境:
WinXP,Flash MX2004
パスに沿ったMCのY座標を動かす
はじめまして。何卒お知恵を拝借したいと思います。

縦方向にうねうねした“?”のような曲線のパスがあります。それに沿った動きをするMCを、マウスのY座標を追いかけるようにさせたいのです。

マウスに追随するMCのソースをもってきて、Y座標にだけ反応するようにしたのですが、どうしてもパスに沿った動きになりません。

ちなみにスクリプトは(頂き物ですが)
function mouseTrail() {
this.distanceY = _root._ymouse-this._y;
this.speedY = this.distanceY*this.lossRate;
this._y += this.speedY;
}
//
// init
this.lossRate = 0.1;
// 減衰率
this.speedX = this.speedY=0;
this.onEnterFrame = mouseTrail;
stop();

を、MCのあるフレームいれています。Y軸には動きます。

説明がへたですみません・・・参考がみつからなくて。
よろしくお願いいたします。
野中文雄
Åê¹ÆNo.18449
投稿日時: 2005-6-28 16:27
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: パスに沿ったMCのY座標を動かす
まず、ご使用の環境を記載しましょう。イベントハンドラメソッドをお使いなので、Flash MX以降と「推理」します。環境は、プロフィールに記入されると便利です。

おやりになりたいことが、少し把握しにくいです。いずれにしても、MovieClipを曲線のパスに沿って移動させたいのですよね。でしたら、マウスの動きに関係なく、スクリプトを使ってパスに沿った単純なアニメーションを実現することが先決だと思われます。

曲線上の座標は、スクリプトで直接取得することはできません。ですから、xy座標を方程式にするか、曲線上の座標を何らかのかたちで調べて羅列(配列化)して扱うかではないでしょうか。後の目的を考えるなら、y座標を渡したとき、それに対応する曲線上のx座標を返す関数が必要ということです。

そのスクリプトによるアニメーションがおできになってから、マウスのy座標に対応させるとか、減速して追随させるとかをお考えになるのがよいと思います。
引用:
oreokunさんは書きました:
縦方向にうねうねした“?”のような曲線のパスがあります。それに沿った動きをするMCを、マウスのY座標を追いかけるようにさせたいのです。

マウスに追随するMCのソースをもってきて、Y座標にだけ反応するようにしたのですが、どうしてもパスに沿った動きになりません。


----------------
 

oreokun
Åê¹ÆNo.18452
投稿日時: 2005-6-28 17:11
新米
居住地:
投稿: 6
使用環境:
WinXP,Flash MX2004
Re: パスに沿ったMCのY座標を動かす
早速のお返事ありがとうございます。

ずばりMXです。環境、プロフィールに記入いたしました。
大変失礼いたしました。

なるほど・・・全部スクリプトで書く方法があるのですね。
自分には少々ハードルが高そうですが・・・;;
でも調べてみます!

ちなみに動き的には、
http://www.geocities.jp/zap_mama_00/index.html
のように、うねうねするメニューの横を沿うようにアイコンを動かしたいと思っています。(パスのラインは今見えるように入れています)

もし何か他にもアドバイスをいただけたら大変嬉しく思います。
野中文雄
Åê¹ÆNo.18453
投稿日時: 2005-6-28 17:21
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: パスに沿ったMCのY座標を動かす
厳密にパスをトレースするのでなく、波形の動きになればよいのでしたら、三角関数で作成できそうに思います。X軸方向をsinまたはcos、Y軸方向は等速直線運動で、近いものになるのでは。

参考:「はじめの一歩のアクションスクリプト」の「4. Mathクラスを使う
引用:
oreokunさんは書きました:
ちなみに動き的には、
http://www.geocities.jp/zap_mama_00/index.html
のように、うねうねするメニューの横を沿うようにアイコンを動かしたいと思っています。(パスのラインは今見えるように入れています)


----------------
 

永井勝則
Åê¹ÆNo.18455
投稿日時: 2005-6-28 17:25
職人
居住地: 白馬村
投稿: 796
使用環境:
Windows 7 :Flash CS4:
10.6.8 :Flash CS5.5
Re: パスに沿ったMCのY座標を動かす
最初に提示されたスクリプトとは無関係です。

モーションガイドでムービークリップb_mcがうねうね動くムービークリップa_mcをつくって、メインのステージ上に置き、_rootのマウスのy軸分の動きの量、差分だけb_mcが自分のタイムライン上を移動する、という考えはどうでしょう?

マウスがある場所からどれだけ上か下に動いたかを、b_mcに送り、その動いた分だけ、b_mcが自分のタイムライン上を上か下に動く、というものです。


----------------
永井勝則:
himco.jp :

oreokun
Åê¹ÆNo.18458
投稿日時: 2005-6-28 18:08
新米
居住地:
投稿: 6
使用環境:
WinXP,Flash MX2004
Re: パスに沿ったMCのY座標を動かす
野中様、永井様、お返事いただきありがとうございました。
ガイドに沿って動かすトゥイーンは、スクリプトではサポートされていない(らしい?)ですね。我ながら身の程知らずでした^^;

MCのフレーム数動かすやり方でやってみたいと思います。

マウスに追随するような動きができれば良いのですが・・・

お忙しい中、ご返答いただきありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops