タイトルが曖昧なことは申し訳ありませんが、私は何を求めているのかを完全にはっきりと確認できません。HTML5キャンバスの描画と更新
まずは、私がこれまで持っていたもののjsFiddleです。
私は、HTML5のキャンバス要素を使用することを学ぶだけでなく、js OOPを使用することも学び始めています。
フィドルからわかるように、私は矩形クラスを作成します(できるだけ多くの四角形を作成できるように、私は冗長かもしれませんが)。しかし、私がheight = width
を設定すると、私はいつも非正方形で終わる。私はキャンバスを使用するのは比較的新しいですが、正方形の高さと幅はキャンバス要素のサイズに関連しているため、キャンバス要素の高さと幅は比例してはいけません(反対の値ピクセルを確定する)。
正方形のサイズをピクセルに設定することで問題を解決できますが、キーの押下イベントが呼び出されると、四角形はまったく動かなくなります。
また、私は、ユーザが矢印キーで四角形を移動できるように、キー押しイベントを持っています。しかし、アップ/ダウンキーの値は、コード内でフリップフロップしても反転されているようです。そして、左/右のキーは何もしませんか?
また、四角形を1回上/下に移動することもできますか?ユーザーが対応するボタンを押し続けている限り、私のコードでx/y値を大きくすることはできませんか?
誰かがこれをチェックして、私が間違っていることについていくつかの指摘をすることができたら、それは素晴らしいことでしょう!私はこれだけの学習体験として、これで多くの新しいことを試しています。だからあなたがそんな気がするなら、私が学ぶのを助けてください!
'else'ステートメントは、' canvas'タグがサポートされていない場合に表示される内容です。 –
ありがとう!これは完璧に動作しますが、私は '.keyup'を使用することの巨大なファンではありませんが、ユーザーは繰り返しキーを押して正方形を移動させなければならないので、キーを押し続けることができます。 –
@Jordan Foreman :http://jsfiddle.net/DqrEm/6/をご覧ください。フラグを設定してインターバルを実行することで、スムーズなアニメーションを作成できます。また、そのような同時キーも可能です。 – pimvdb