メイン とにかく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さんは書きました: |
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さんは書きました: |
永井勝則 | Åê¹Æ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が自分のタイムライン上を上か下に動く、というものです。
|
oreokun | Åê¹ÆNo.18458 投稿日時: 2005-6-28 18:08 |
新米 居住地: 投稿: 6
使用環境:
WinXP,Flash MX2004 |
Re: パスに沿ったMCのY座標を動かす 野中様、永井様、お返事いただきありがとうございました。
ガイドに沿って動かすトゥイーンは、スクリプトではサポートされていない(らしい?)ですね。我ながら身の程知らずでした^^; MCのフレーム数動かすやり方でやってみたいと思います。 マウスに追随するような動きができれば良いのですが・・・ お忙しい中、ご返答いただきありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |