我想用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游戏引擎?重新创造已经创造的东西往往是一个容易犯的错误。 –