メイン 迷える子羊の部屋【初心者専用】 このActionscriptのカラクリを教えて下さい! | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sanagirock | Åê¹ÆNo.34485 投稿日時: 2007-7-31 22:14 |
新米 居住地: 投稿: 3
使用環境:
iMac (Intel core2Duo 2.0GHz) MacOSX 10.4.10 Flash CS3 |
このActionscriptのカラクリを教えて下さい! MCの動きに次第にブレーキがかかる動きを表現する際に、
onClipEvent (load) { var div:Number = 0.25; //ブレーキかけるための値 var move_to:Number = 540; //目的地のx座標 this._x = 800; } onClipEvent (enterFrame) { this._x = this._x + (move_to - this._x) * div; } 上記のようなASを使用していますが、この仕組みがイマイチわかっていません。 なぜ目的地の座標(この場合, x座標540)でピッタリ停止するんでしょうか? それ以上動かないのはなぜなのか、考え始めると気になってしようがありません。 ご教授お願い致します。 ちなみにこのASは、(株)毎日コミュニケーションズの「Flash8 レベルアップコース」 という書籍で勉強した際に覚えたものです。 |
ひろゆき | Åê¹ÆNo.34486 投稿日時: 2007-7-31 23:04 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: このActionscriptのカラクリを教えて下さい! まず、(move_to - this._x) が何を意味しているのか、を
お考えになることだと思います。 分かりやすく言えば「減速」しているからです。 ちなみに、全く同じ動きは、フレームアクションに記述しても実現できます。 動かそうとしているムービークリップのインスタンス名が mc だとして。 mc を配置したフレームに
ただし、正確には、「ピッタリ停止」していない可能性があります。 詳しくは、こちらを。 「指定座標に減速しながら近づくMC。」 「目的地に近づく (1)」 などが参考になるでしょうか。
|
c-geru | Åê¹ÆNo.34488 投稿日時: 2007-8-1 1:59 |
職人 居住地: 文京区本郷 投稿: 209
使用環境:
10.6.8+ CS5.5 Win7+ CS4 |
Re: このActionscriptのカラクリを教えて下さい! 引用:
onClipEvent (enterFrame) { (move_to - this._x)は、目的地とMCの距離ですよね。それに係数(div)をかけているので、目的地とMCの距離の25%(0.25)だけ移動する(近づく)わけです。 次にこの処理が実行される時には、先程より近づいた「目的地とMCの距離」の25%(0.25)だけ近づく・・・と、処理を繰り返すと「目的地とMCの距離」はどんどん短くなるので、それにに係数(div)をかけた値もどんどん小さくなり0に近づきます。 計算上の誤差もあるのでピッタリでない場合もありますが、移動させる距離が限りなく0に近い数値になるので最終的に止まって見えるわけです。誤差等の話は、ひろゆきさんが紹介されたリンクに詳しいです。 |
野中文雄 | Åê¹ÆNo.34490 投稿日時: 2007-8-1 2:50 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: このActionscriptのカラクリを教えて下さい! イーズアウト(減速)のアニメーションは、「差を割引いて足込む」という式がよく用いられます。
以下は、減速率が0.5=1/2の場合です。「おやつ食べていい?」と訊くのがenterFrameイベント、半分食べるのが距離の移動に当たります。 拙著『オブジェクト指向で考えるActionScript』p.132より引用: 昔私の家の近所に、男の子の兄弟がいました。大体次男・次女というのは、要領がよくなるようです。 引用: sanagirockさんは書きました: |
sanagirock | Åê¹ÆNo.34501 投稿日時: 2007-8-1 14:15 |
新米 居住地: 投稿: 3
使用環境:
iMac (Intel core2Duo 2.0GHz) MacOSX 10.4.10 Flash CS3 |
Re: このActionscriptのカラクリを教えて下さい! 野中様、c-geru様、ひろゆき様
ご返答ありがとうございました。 非常にわかりやすく説明していただけたので、感謝しております。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |