- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スムーズに動かすにはどうしたらいいでしょうか?)
スムーズな動きを実現するためのJavaScriptの方法
このQ&Aのポイント
- 質問者は、スムーズな動きを実現したいと考えています。紹介されているサイトのサンプルでは、動きがカクカクしているため、改善方法を知りたいとのことです。
- 提供されたJavaScriptのコードでは、キーボード入力に応じてキャラクターを上下左右に移動させることができます。しかし、動きがカクカクしているため、よりスムーズな動きを実現するためには、以下のような改善点が考えられます。
- 1. キャラクターの移動量を調整する 2. キーボード入力の処理を最適化する 3. アニメーションを使用するなど、他の手法を検討する
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
onkeydownなどのイベントでキーの判別と移動を同時に行ってますが、それでは一つのキーの入力しか受け付けられません。 スムーズに動かすには、onkeydownで各キーのスイッチとなる変数をたとえば1に、 onkeyupでキーのスイッチを0にして、移動はタイマーで一定時間ごとにスイッチが1なら移動するような、移動用関数を呼び出して行います。 この方法だと同時に二つの入力を受け付けますので、斜め方向への移動が可能になります。 すぐ下のほうでそのようなことについて私が解答しましたので、参考に。 http://okwave.jp/kotaeru.php3?q=1817537 マリオのような「斜めジャンプ」はどうすれば・・・
その他の回答 (1)
- LancerVII
- ベストアンサー率51% (1060/2054)
回答No.1
こんにちは。 カクカクとはどんな感じの動きでしょうか。 試してみましたがカクカクした感じはしませんでした。 JavaScriptは実行している端末のスペックや使用状況で 変動するのでご注意ください。 例えば、自分のPCではきびきび動いているプログラムも 他のPCでは動きが遅かったり、自分の思っていた動きとは違うな・・・ ってのが多々あります。
補足
例えば、→に動いている最中に↑に行くボタンをおすと、一瞬止まって、斜めにいかずに↑に行くということです。 / / / →→→→→ という動きをしたいのですが、これだと、 ↑ ↑ ↑ →→→→→↑ のようになってしまいます。 要は、キーボードから読み込む時に、→に行くボタンと↑に行くボタンを同時に押すと、斜めに行かないということです。 同時に読み込むことは不可能なんでしょうか?