メイン コーダーズルーム【スクリプト系】
回転角度の収束について | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| kogua | Åê¹ÆNo.37567 投稿日時: 2008-2-13 16:17 |
半人前 ![]() ![]() 居住地: 投稿: 51
使用環境:
WindowsXPsp3,FlashCS3 |
回転角度の収束について 回転の動きに、バネのような収束する動きをつけたいのですが
うまくいかない点があり、困っています。 状況は ステージに置いたMC(名:kaiten_mc)に onClipEvent (load) { myR = 0; nr = 0; } onClipEvent (enterFrame) { nr = nr*0.6+(myR-this._rotation)/1.2; this._rotation += nr; } ステージに置いたボタンに on (release) { _root.kaiten_mc.myR += 15; } と記述します。 ボタンを押すと、kaiten_mcの角度が15度ずつ 回転するのですが、そのときにバネのように 収束しながら、回転が徐々に止まる、という風に したいのです。 上記のようにすると、180度に至るまでは 意図したように動作するのですが 180度になった瞬間に、おかしくなってしまいます。 原因はなんとなくわかっていて _rotationの値が、?180?180の値で動作するからですよね? 195度を?165度として扱ってしまうので 差分の計算がおかしくなってしまうという。 ですが、この意図したような動きを 180度を越えてもずっとしているサイトを 見たことがあるので、何か別の方法で 実現できるのではないかと、ご相談したしだいです。 いろいろ調べたり考えたりしたのですが 思いつきません。 誰か、教えていただけないでしょうか。 |
| 野中文雄 | Åê¹ÆNo.37568 投稿日時: 2008-2-13 16:59 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 回転角度の収束について 値が非連続に変化しない「ものさし」を使って計算すればよいでしょう。
引用: koguaさんは書きました: |
| kogua | Åê¹ÆNo.37569 投稿日時: 2008-2-13 17:13 |
半人前 ![]() ![]() 居住地: 投稿: 51
使用環境:
WindowsXPsp3,FlashCS3 |
Re: 回転角度の収束について 早速のご返答ありがとうございます。
野中さんの書かれたようにして 試してみたのですが、作動しませんでした。 trace(_root.kaiten_mc.nRotation);として 値をみてみると、最初からNaNと出ています。 ボタンを押してもmyRの値が 加算されていくだけで MCは回転しませんでした。 なぜなんでしょう。 |
| 野中文雄 | Åê¹ÆNo.37570 投稿日時: 2008-2-13 17:23 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 回転角度の収束について
|
| kogua | Åê¹ÆNo.37571 投稿日時: 2008-2-13 17:46 |
半人前 ![]() ![]() 居住地: 投稿: 51
使用環境:
WindowsXPsp3,FlashCS3 |
Re: 回転角度の収束について 書き出しをActionScript 1.0にしてました。
2.0にしたら作動しました。 また、:Numberを無くしたら ActionScript 1.0でも作動しました。 ありがとうございます。 勉強になりました。 |
| ひろゆき | Åê¹ÆNo.37580 投稿日時: 2008-2-14 1:50 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CCSafari 6.1 |
Re: 回転角度の収束について 「変数の代入と初期値の必要性について質問です」
には、レスをおつけにならないのでしょうか? #ご自分が投稿された記事は、ログインして「アカウント情報」で確認できます。
|
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン




CS5.5
.6.8
Vista Home Premium (SP1)

いずれにしても、変数値が正しく設定されていないということです。

