• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スムーズに動かすにはどうしたらいいでしょうか?)

スムーズな動きを実現するためのJavaScriptの方法

このQ&Aのポイント
  • 質問者は、スムーズな動きを実現したいと考えています。紹介されているサイトのサンプルでは、動きがカクカクしているため、改善方法を知りたいとのことです。
  • 提供されたJavaScriptのコードでは、キーボード入力に応じてキャラクターを上下左右に移動させることができます。しかし、動きがカクカクしているため、よりスムーズな動きを実現するためには、以下のような改善点が考えられます。
  • 1. キャラクターの移動量を調整する 2. キーボード入力の処理を最適化する 3. アニメーションを使用するなど、他の手法を検討する

質問者が選んだベストアンサー

  • ベストアンサー
  • m035
  • ベストアンサー率44% (38/86)
回答No.2

onkeydownなどのイベントでキーの判別と移動を同時に行ってますが、それでは一つのキーの入力しか受け付けられません。 スムーズに動かすには、onkeydownで各キーのスイッチとなる変数をたとえば1に、 onkeyupでキーのスイッチを0にして、移動はタイマーで一定時間ごとにスイッチが1なら移動するような、移動用関数を呼び出して行います。 この方法だと同時に二つの入力を受け付けますので、斜め方向への移動が可能になります。 すぐ下のほうでそのようなことについて私が解答しましたので、参考に。 http://okwave.jp/kotaeru.php3?q=1817537 マリオのような「斜めジャンプ」はどうすれば・・・

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 カクカクとはどんな感じの動きでしょうか。 試してみましたがカクカクした感じはしませんでした。 JavaScriptは実行している端末のスペックや使用状況で 変動するのでご注意ください。 例えば、自分のPCではきびきび動いているプログラムも 他のPCでは動きが遅かったり、自分の思っていた動きとは違うな・・・ ってのが多々あります。

Hypocrite_k
質問者

補足

例えば、→に動いている最中に↑に行くボタンをおすと、一瞬止まって、斜めにいかずに↑に行くということです。           /          /         / →→→→→ という動きをしたいのですが、これだと、        ↑        ↑        ↑ →→→→→↑ のようになってしまいます。 要は、キーボードから読み込む時に、→に行くボタンと↑に行くボタンを同時に押すと、斜めに行かないということです。 同時に読み込むことは不可能なんでしょうか?