我想用node.js和socket.io創建一個多人遊戲的HTML5半實時遊戲。幀頻是3 fps。玩家使用箭頭鍵移動。所有遊戲對象都以直線移動(玩家水平或垂直移動)。玩家按Page Up/Down加快/減速。這是我的第一個動畫HTML5遊戲,也是我第一個重型JavaScript項目。多人遊戲HTML5半實時遊戲,node.js/socket.io
我經歷了一個名爲「用WebSockets和Node.js創建實時多人遊戲」的教程(點擊)。本教程顯示每個玩家帶箭頭鍵移動的黑色方塊。不幸的是,它只能在一臺計算機上工作(但多個瀏覽器標籤)。您必須將瀏覽器指向public/index.html文件。我想修改它,以便我可以通過將我的瀏覽器指向192.168.1.4:8000,從我的局域網中的其他計算機加入遊戲。最終,我希望我的兄弟通過訪問myquadrawebsite.com加入。我知道如何爲apache做端口轉發,但不知道node.js。以下是本教程的刪節,高層次的代碼片段3:
// public/index.html
<script src="http://localhost:8000/socket.io/socket.io.js"></script>
<script src="js/game.js"></script>
<script> // Initialise the game
init();
animate();
</script>
// game.js
var io = require("socket.io");
var socket, players;
function init() {
players = [];
socket = io.listen(8000);
setEventHandlers();
};
var setEventHandlers = function() {
socket.sockets.on("connection", onSocketConnection);
};
function onSocketConnection(client) {
util.log("New player has connected: "+client.id);
client.on("new player", onNewPlayer);
};
// public/js/game.js
var remotePlayers, localPlayer, socket;
function init() {
localPlayer = new Player(startX, startY);
socket = io.connect("http://localhost", {port: 8000, transports: ["websocket"]});
remotePlayers = [];
setEventHandlers();
};
var setEventHandlers = function() {
socket.on("connect", onSocketConnected);
socket.on("new player", onNewPlayer);
};
我已搜查高和低有關的Node.js和socket.io其他教程,但至今沒有人幫助我。 (我的長期目標是創建一個HTML5遊戲開發框架。)如果任何人都可以指出我正確的方向,我會很感激。謝謝。
也許我建議尋找到Unity遊戲引擎?重新創造已經創造的東西往往是一個容易犯的錯誤。 –