メイン コーダーズルーム【スクリプト系】 fpsに同期したmcの移動 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ibm-old | Åê¹ÆNo.47878 投稿日時: 2011-8-12 0:21 |
新米 居住地: 投稿: 5
使用環境:
Mac OSX,Flash CS5 |
fpsに同期したmcの移動 初めて投稿させて頂きます。宜しくお願い致します。
プログラミングもFlashも全くの素人ですが、アクションゲームを作成しようと思いactionscriptをいじっています。バージョンは3.0で、環境はFlash CS5 (Mac) です。 まずはプレイヤーを動かせるようにするため、以下のようなスクリプトを組んでみました。
2,3行目でEnterFrameを使っていますが、これを入れないとムービークリップがfpsに関係なく同じスピードで動く為です。(KEY_DOWNイベントはユーザがキーを押している間、一定間隔で送出されるらしいので、それで正しいのかもしれません。) そこで、上のようにして単純にfpsに同期するようにしようとしてみたのですが、うまく働きませんでした。 具体的には、 1.fpsに関係なく更新される 2.fpsを上げると1フレームあたりの移動距離が異様に大きくなる という感じです。 色々と調べてはみましたが、ややニッチな目的のため、中々良い情報が見つからず、こうして質問させて戴くことにいたしました。 お知恵を貸していただけると有難いです。 |
ひろゆき | Åê¹ÆNo.47879 投稿日時: 2011-8-12 11:22 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: fpsに同期したmcの移動 メインのタイムラインに、ムービークリップ(インスタンス名: player_mc)を配置。
以下のスクリプトは、ステージ第1フレームに記述します。 (メインタイムラインは1フレームしかないものとします) [case1]
enterframeのたびに、関数を何度も定義する必要はないように思います。 [case2]
ただし、fpsに合わせる話は別です。 onKeydownは、キーボードのイベントで呼び出されるわけですから、fpsに関係なく動くはずです。 fpsに合わせたいということであれば、 あくまでも、enterframeで、キーが押されているかどうかをチェックする 必要があるのではないでしょうか? [case3]
また、スクリプトはコードを貼り付けるだけでなく、 どこに記述したとか、どんなインスタンスをどこに配置してあるかの情報も必要です。 第三者が再現しやすいような説明を心がけてください。
|
ibm-old | Åê¹ÆNo.47880 投稿日時: 2011-8-12 21:22 |
新米 居住地: 投稿: 5
使用環境:
Mac OSX,Flash CS5 |
Re: fpsに同期したmcの移動 ご回答戴きありがとうございます。
確かに、スクリプトの記述場所を書いていませんでした… スクリプトは絶対パスにしてメインタイムラインやplayer_mcのタイムラインに書きこんでいました。結果、どちらに書きこんでも挙動は同じでした。 あとは、ステージ上にインスタンス名player_mcとしたムービークリップを配置しただけです。申し訳ございません… なお、まことに勝手ながら、非常に不細工なスクリプトを書くことで一応は解決していました。しかし、挙動がおかしい理由が解らないため、回答を待たせて頂きました。 参考になる回答を有難うございます!特に、[case3]のような書き方ができるとは知りませんでした。もっと勉強していきます。 |
野中文雄 | Åê¹ÆNo.47881 投稿日時: 2011-8-12 22:17 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: fpsに同期したmcの移動 いろいろな書き方が知りたいということでしたら、ご参考までに。
[case 4]
|
野中文雄 | Åê¹ÆNo.47882 投稿日時: 2011-8-12 22:31 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: fpsに同期したmcの移動 配列を使う手もあります。
[参考]「ActionScript 3.0で始めるオブジェクト指向スクリプティング」第15回「配列を使ったキーコードとプロパティの扱い」
|
ibm-old | Åê¹ÆNo.47883 投稿日時: 2011-8-13 3:17 |
新米 居住地: 投稿: 5
使用環境:
Mac OSX,Flash CS5 |
Re: fpsに同期したmcの移動 ご回答ありがとうございます。こちらの書き方もスマートで良いですね!
まだif~switch文や配列までは手が及んでいなかったので、リンク先のHPは大変参考になりそうです。少しずつ読んでいきたいと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |