メイン コーダーズルーム【スクリプト系】 指定座標に減速しながら近づくMC。 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
copperroad | Åê¹ÆNo.21051 投稿日時: 2005-10-25 19:55 |
半人前 居住地: 投稿: 59
使用環境:
Win Xp professional,Flash CS3 IE7.0 |
指定座標に減速しながら近づくMC。 こんばんは。
表題のようなムービーで、以下のようなものを制作中です。 http://www.geocities.jp/dwt_22/test.html 緑のボールのスクリプトは以下です+++++++++++++++++++++++++++++++++++ on(release, releaseOutside){ this.stopDrag(); } on(press){ this.startDrag(); } onClipEvent(load){ Xposi = 275; Yposi = 200; } onClipEvent(enterFrame){ _parent.x = this._x; _parent.y = this._y; this._x += (Xposi - this._x) / 10; this._y += (Yposi - this._y) / 10; if(Xposi == this._x && Yposi == this._y){ _parent.OK.gotoAndStop(2); } } ++++++++++++++++++++++++++++++++++++++++++++++ 座標で_x=275,_y=200を指定し、到達すると「OK」の文字が表示されるのですが、数値が指定座標以下の中途半端な値でストップしてしまいます。フラッシュのバグでしょうか?(何回かドラッグして離すとピッタリ合うことがあります。) 座標到達で発生するようなイベントでは使いにくいのですが、なにか解決策はないでしょうか? よろしくお願いします。 |
ゲスト | Åê¹ÆNo.21054 投稿日時: 2005-10-25 20:40 |
Re: 指定座標に減速しながら近づくMC。 こんにちは。
バグかどうかは自分に判別できませんが・・・ 引用:
として、微調整してはどうですか? |
|
ayato | Åê¹ÆNo.21056 投稿日時: 2005-10-25 21:01 |
新米 居住地: ディズニーランドから15分っぽい 投稿: 9
使用環境:
8 Professional,MX 2004 XP Home Edition SP2 |
Re: 指定座標に減速しながら近づくMC。 ドラッグしたら、途中までしか出来なかったので、ドラッグしているか判別するフラグを用意すればいいと思います。イベントについては、座標を格納する変数を用意しMath.roundメソッド(Math.floorやMath.ceilは上手くいかないかも)を使い、四捨五入してやればいいです。
こうなります http://page.freett.com/aya0802/flash/mouseball3.html ---------------------------------------------- あやと http://page.freett.com/aya0802/ |
野中文雄 | Åê¹ÆNo.21062 投稿日時: 2005-10-25 21:24 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 指定座標に減速しながら近づくMC。 実際、計算値は「中途半端な値」になると思います。たとえば、_x = 0、Xposi = 10として、フレームごとの値を手計算で確認してご覧になることをお勧めします。
厳密には、MovieClip._xプロパティの値は小数点以下第2位程度までで丸められるので、たまたま指定値になることもあるとは思います。しかし、その方がむしろ例外でしょう。 引用: copperroadさんは書きました: それは、いいがかりというものだと思います。 引用: 座標で_x=275,_y=200を指定し、到達すると「OK」の文字が表示されるのですが、数値が指定座標以下の中途半端な値でストップしてしまいます。フラッシュのバグでしょうか?(何回かドラッグして離すとピッタリ合うことがあります。) 具体的には、指定値±(あるいは絶対値が)0.5以内になったら、指定値を設定して、到達時の処理に移るという考え方になるでしょう。 |
ひろゆき | Åê¹ÆNo.21072 投稿日時: 2005-10-26 5:49 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 指定座標に減速しながら近づくMC。 引用:
表題のようなムービーで、以下のようなものを制作中です。 上記の test.swf において。 ボールをドラッグする位置が x軸 よりも上に持っていく場合 Yの値は、199.55 になります。 ボールをドラッグする位置が x軸 よりも下に持っていく場合 Yの値は、200 になります。 ボールをドラッグする位置が y軸 よりも左に持っていく場合 Xの値は、274.55 になります。 ボールをドラッグする位置が y軸 よりも右に持っていく場合 Xの値は、275 になります。 したがって、OKマークが表示されるのは、 ボールを、原点(275, 200)に対して、右下に持っていた場合のみです。 それに対して、スタート時は、 ボールが、原点(275, 200)に対して、左上にあるので、 X: 274.55 Y: 199.55 となります。 x軸方向だけに移動する「サンプル」を用意しました。 #スクリプトは、2つの swf とも以下のものを用いています。 #かえる君(_root.frog) と 旗(_root.flag) の位置が逆になっているだけです。 旗がある位置が、目的地です。(_root.flag) _root にテキストフィールド (変数名: distance) を配置。
#目的地付近で、クリック可能にして、スタート地点にもどすためのスクリプトです。 おそらく、(_root.flag._x - this._x) の値が正か負で、 丸めの計算結果が異なると思われます。 #詳しくは、検証していません。 対応策としては、野中さんも指摘されているように、 引用: onClipEvent(enterFrame){ 引用: フラッシュのバグでしょうか?(何回かドラッグして離すとピッタリ合うことがあります。) バグの疑いを持つ前に、もう少し観察や検証をする必要があるのではないでしょうか?
|
copperroad | Åê¹ÆNo.21141 投稿日時: 2005-10-29 16:43 |
半人前 居住地: 投稿: 59
使用環境:
Win Xp professional,Flash CS3 IE7.0 |
Re: 指定座標に減速しながら近づくMC。 返信が遅くなって申し訳ないです。
みなさま、ご回答ありがとうございました! 確かに僕のいいがかりでした。スミマセン。。 また、まるめる計算というのも今回はじめて知りました。ありがとうございます! 今後よく観察&検証したいと思います。 ありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |