2012-04-03 44 views
1

我是javascript的新手。我想用箭頭移動路徑上的一輛車。我創建了svg的路徑併爲箭頭製作了函數。他們都很好。但我不知道如何如果我應該檢查路徑的每個移動的座標,我的路徑由不同的形狀組成,我可以如何控制它?我找到了一些例子,但它們使運動不像每次按鍵時都是運動。請給我一個想法如何將汽車只在道路上..在道路上移動的車與javascript

+0

在大多數情況下,我喜歡深入的態度,但接下來......如果您是js的新手,最好的辦法是編寫簡單的腳本,將事件綁定到標準元素...... stuff JS首先建立的。寫一個遊戲是有點,呃...很多。也許使用事件處理程序和綁定自定義事件來構建滑塊或圖庫是一個更好的開始的地方。有一些偉大的Tuts在那裏,這將幫助你與這 – 2012-04-03 10:31:23

+0

其實它不會是一個遊戲。我只需要在道路上移動一輛汽車。但我不明白的基本idea.I忘記汽車。元素通過使用顏色,位置或其他任何東西來識別其他元素?首先,我需要了解這一點。但是你是對的,它會比我預期的要難 – 2012-04-03 10:38:45

回答

1

好吧,簡答:元素無法識別對方。但是,您可以做的是通過獲取所需元素的計算樣式,然後計算頁面上的「表面」覆蓋來模擬碰撞。一些功能,將幫助你的是getComputedStyle()currentStyle,後者是IE的第一個相當於。

基本上,您必須將自定義事件綁定到您的汽車上 - 或者您需要的任何元素,每次按下某個鍵時都會調度(或者以IE語言:Fired)。該事件將不得不重新計算改變你的汽車/元素的風格。例如:向上鍵被按下,所以y位置必須改變。在實際移動元素之前,您應該有一個包含該區域中實體元素所有位置的對象。掃描該元素以查看您的汽車元素正在移動的新位置是否會導致重疊,如果是這樣調度/觸發碰撞事件,如果不移動汽車...

不是這是一個非常簡單的解釋,但這些是您在每次按鍵時最有可能需要執行的步驟。這就是爲什麼我建議閱讀自定義事件,處理程序,事件綁定和調度。 如果你真的用純JavaScript編寫的話,我現在可以向你保證,交到心,有一件事你不需要閱讀:爲什麼JavaScript開發者非常討厭IE,特別是如果你想讓你的腳本運行在IE9之前的IE9版本...

我只是以此結束:這樣的東西的書籤頁是javascriptkit。此外,您可能更喜歡使用像jQuery這樣的框架來解決您將遇到的跨瀏覽器問題。

祝你好運!

+1

謝謝你的答案。至少我知道沒有辦法進行識別和研究的方向...... – 2012-04-03 11:11:34

+0

只有幾個方面的注意事項:在這種情況下,我會推薦jQuery的一週中的任何一天,但如果你想學習JavaScript,那真是太棒了,這真是一個奇妙的項目。但是,這會花費你一些時間,但最終你會有一個堅實的基礎。我希望你至少可以嘗試寫純JS,這很可愛。 如果我的回答證明有幫助,我是否也可以直截了當地要求您投出贊成票?我喜歡幫助人們,特別是當我的努力得到認可/讚賞時。 – 2012-04-03 11:17:28

相關問題