我正在用socket.io,ThreeJS,Javascript和NodeJS來創建一個使用ThreeJS圖形的簡單客戶端/服務器。我不確定所有這些框架是否能夠一起工作,但是我決定給它一個鏡頭,因爲我之前在網上看到過類似的例子,儘管我找不到一個簡單的剖析或試驗。這主要是爲了嘗試,但我也想做一個小小的概念遊戲來證明我迄今爲止學到了什麼。ThreeJS,Websockets和NodeJS客戶端/服務器實驗
我貼我的代碼在這裏:https://gist.github.com/netsider/63c414d83bd806b4e7eb
很抱歉,如果這是一個有點凌亂,但我盡我所能去讓它儘可能地易讀。
基本上,現在服務器端的NodeJS腳本似乎運行正常(運行時使用「node server-alpha.js」)和客戶端腳本(client-alpha.html,您可以在瀏覽器中打開)連接到服務器,並顯示用戶列表(他們也連接)。然而,我的意圖是讓每個用戶能夠移動他/她自己的立方體,現在每個立方體只能被添加到屏幕上(而不是被添加,減去,然後再次添加 - 以給出運動的幻覺)。如果你運行兩段代碼並連接一個或兩個用戶,併爲每個用戶移動箭頭鍵幾次,你會看到我在說什麼。
有人可以幫我嗎?我嘗試了幾種不同的方法來刪除多維數據集(並且記得在每個之後調用render())...但是我嘗試的所有內容似乎都不起作用。它總是導致立方體被添加到屏幕上,並且永遠不會被減去。
我在代碼中添加了一些註釋,讓事情變得更容易,因爲我知道這是相當多的代碼(如果它不是您自己的,無論如何)。
謝謝,任何幫助將不勝感激......因爲我真的堅持試圖讓立方體移動。
此外,我在添加Fly-Controls(FlyControls.js - 它被註釋掉ATM)時遇到了問題,所以如果有人能告訴我我出錯的地方,我會很感激。
https://gist.github.com/ol-骨頭/ 57dcb0695389b914719d#comments 編輯了一下,並在底部留下了一條評論, – user9385381 2014-10-15 11:04:43
我終於搞定了。是的,我想我可能會讓它太複雜。我不需要對服務器做任何事情,除非通過websockets發送請求來調用客戶端腳本中的playercreate()函數,然後創建第一個球員......並且還必須爲客戶端做幾件事情其他球員將被創建。這裏是:https://gist.github.com/netsider/63c414d83bd806b4e7eb(這一個完全有效,但它很粗糙 - 我仍然很驚訝我明白了)。感謝您的全力幫助,特別是使它面向對象。一切都非常感謝:) – Netside 2014-10-23 06:21:40
真棒,繼續前進 - 有更多的樂趣讓你有更多的建立它。令人驚訝的是,大致工作的代碼能夠快速變成幾乎類似於遊戲的東西:v – user9385381 2014-10-23 10:48:15