2011-05-31 108 views
0

我有一個名爲TruckModel的對象,早在我的JavaScript文件milktruck.js我如何聲明這個Javascript變量有什麼問題?

我試圖創建這些TruckModel對象的數組,因爲我不知道在任何給定的時間有多少TruckModel對象並定義當我的多人遊戲進入和退出時,將需要它。

我知道我當前的代碼不工作,因爲當我使用下面的teleportToThat函數時,模型不會顯示。

我能得到的模型在我的index.html文件中聲明只有一個TruckModel()對象,然後使用teleportToThat

這裏是我此代碼顯示,你如何看到任何錯誤我這樣做?

非工作版本:

var opponentTrucks = []; 

for (var i = 0; i < markers.length; i++) { 

     opponentTrucks[i] = new TruckModel(); 
     opponentTrucks[i].teleportToThat(lat, lng, heading); 

} 

工作版本:(區別是,我想有TruckModel對象的變化量)

聲明中index.html文件:

var model; 

聲明中的JavaScript文件:

model.teleportToThat(lat, lng, heading); 

這裏就是整個JavaScript文件:

http://thehobbit2movie.com/milktruck.js

+0

請加你如何和爲什麼知道這是錯誤的描述。 – Pointy 2011-05-31 18:59:28

+0

補充,現在應該更具描述性。 – user671891 2011-05-31 19:48:16

回答

2

如果你希望能夠找到通過數字索引的對象,你想要一個陣列,而不是一個簡單的對象:

var opponentTrucks = []; 

你會得到什麼樣的工作,好處,但是沒有理由不使用真正的數組,如果你打算把它看作一個真正的數組。

編輯 —目前仍不清楚究竟是什麼問題。這條線在這裏:

opponentTrucks[i].teleportToThat(lat, lng, heading); 

這是應該做什麼?它從哪裏來的? 「我」的價值是什麼?如果你只是在循環之後有這個語句,那麼它就不會起作用。如果你想讓這個「teleportToThat()」函數調用,那麼你應該把函數調用放在的「for」循環中。

+0

這仍然沒有解決它。我沒有要給出的錯誤消息,但我知道它不起作用,因爲模型從不出現。 – user671891 2011-05-31 18:52:32

+0

好吧,如果你原本說代碼不起作用,那將會很有幫助。但是,您發佈的代碼(無論是否需要更改)都不可能成爲問題。 – Pointy 2011-05-31 18:58:47

+0

好的,我現在添加了更多描述。 – user671891 2011-05-31 19:28:15

2

如果你只使用數字鍵,你想要一個數組,而不是一個對象:

var opponentTrucks = []; 

for (var i = 0; i < markers.length; i++) { 
    opponentTrucks.push(new TruckModel()); 
} 

這可能不會阻止你的代碼實際工作,但它幾乎肯定會是一個進步。

如果仍存在錯誤,或許你可以說它們是什麼:-)

+0

這仍然沒有解決它。我沒有要給出的錯誤消息,但我知道它不起作用,因爲模型從不出現。 – user671891 2011-05-31 18:52:44