• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptでのアニメーション)

JavaScriptでのアニメーション

このQ&Aのポイント
  • JavaScriptで書いたアニメーションをHTML5上で動かす方法を教えてください。
  • 特定の座標を指定せずに任意の値でアニメーションを動かす方法を教えてください。
  • 以下のコードを使用していますが、座標を任意に入力するとアニメーションが動かなくなります。対処方法を教えてください。

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

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

想定する動作の流れは  ユーザが初期値を入力して、ボタンをクリック    ↓  ユーザの入力した初期値をlocX, locYに入れる    ↓  アニメーション開始 という感じですが、 今のコードは2番目の「ユーザの入力した初期値をlocX, locYに入れる」という処理が抜けています。 anim関数の中でlocX, locYの値を設定してください。

Mm08aa
質問者

補足

2番目の処理が抜けているというのは理解しました。 anim関数の中でlocX,locYの値を設定するというのを以下のようにやってみましたが、うまくいきませんでした。 function anim(){ var canvas = document.getElementById('mycanvas'); if (canvas.getContext){ ctx = canvas.getContext('2d'); setInterval(draw, 60); } locX = document.getElementById("x").value); locY = document.getElementById("y").value); } (anim関数以外の部分はいじっていません) 値を設定する、というのを上記のように書いたのですがうまくいきませんでした(見当違いのことを書いているかもしれません、すみません)。anim関数内をどのように書き直せばいいのでしょうか…。何度もお尋ねして申し訳ありません。

その他の回答 (1)

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

惜しい……! anim関数内のsetInterval(draw, 60);でアニメーションが開始されます。 なので、setIntervalを呼ぶ前に初期値を設定してください。

関連するQ&A