2012-04-03 11 views
1

私はjavascriptを初めて使っています。矢印付きの車で車を動かしたいです。私はsvgで経路を作成し、矢印の機能を作っています。彼らはokです。しかし、私はどのようにパスを認識する必要がありますか?パスの座標を各移動ごとに確認する必要がある場合、パスはさまざまな形状で構成されます。どのように制御できますか?いくつかの例がありますが、javascriptで移動中の車

+0

私は、ほとんどの場合、深い態度でジャンプが好きですが、来てください...あなたがjsを初めて使うなら、イベントを標準要素にバインドする簡単なスクリプトを書くことが最善のことです...最初に建てられたゲームを書くことはちょっとです、よく...多く。おそらく、イベントハンドラを使用してカスタムイベントをバインドしてスライダやギャラリーを作成することは、あなたを始めるには良い場所です。これで助けてくれる素晴らしいTutsがあります。 –

+0

実際にはゲームではありません。道路上で車を動かすだけです。しかし、私は基本的な考え方を理解できませんでした。車を忘れています。他の要素を色、位置、または他のものを使って認識していますか?最初に私はこれを理解する必要があります。しかし、それは私が期待する以上に難しいでしょう –

答えて

1

[OK]を、短い答え:要素はお互いを認識することはできません。しかし、あなたができることは、必要なすべての要素の計算されたスタイルを取得し、次にページ上の表紙を計算することによって衝突をシミュレートすることです。それを助ける関数のいくつかはgetComputedStyle()currentStyleです。後者はIEの最初のものと同等です。

基本的には、キーを押すたびにディスパッチされる(またはIEのlingo:Firedで)カスタムイベントをあなたの車にバインドする必要があります。そのイベントはあなたの車/要素のスタイルを変更し直す必要があります。例:上のキーが押されているので、yの位置を変更する必要があります。要素を実際に移動する前に、その領域内のすべてのソリッド要素の位置を含むオブジェクトを持つ必要があります。その要素をスキャンして、あなたの車の要素が移動しているかどうかを確認します。重複が発生した場合は、衝突イベントを発生させます。

これは実際には簡単な説明ですが、それぞれのキーを押すたびに実行する必要があります。だからこそ、私はカスタムイベント、ハンドラ、イベントバインディングとディスパッチを読むことを提案した。 これを純粋なJavaScriptで記述すると、私はあなたに今すぐ約束することができます。読んでいないことが1つあります。なぜJavaScript開発者がIEをあまりに嫌うのですか? IE9より前のバージョンのIEでは...

これで終了します:このようなもののためにブックマークするページはjavascriptkitです。また、遭遇するクロスブラウザーの問題を解決するために、jQueryのようなフレームワークを使用することをお勧めします。

幸運を祈る!

+1

答えてくれてありがとうございます。研究の方向.. –

+0

ほんの少しのメモ:この場合、jQueryを曜日に指定することをお勧めしますが、JavaScriptをすべて覚えておきたい場合は、これはすばらしいプロジェクトです。しかし、時間がかかりますが、結局、あなたは確固たる基盤を築くでしょう。私はあなたが少なくとも純粋なJSを書こうと思っています、それは素敵です。 私の答えが役に立つと判明した場合、私はあなたが承認投票をするように頼むほど鈍いかもしれませんか?私は人々を助けるのが好きです。特に私の努力が認識されている/評価されているとき。 –

関連する問題