我正在开发一个Nodejs的多人游戏,它将有一个大厅,我将拥有与托管和连接相关的所有逻辑。
实际上我有三个文件server.js,lobby.js和game.j,最后一个是我想要做的游戏逻辑,它将在服务器上运行。
当我初始化服务器时,我需要大厅和游戏。
var Lobby = require("./server/lobby");
var Game= require("./server/game");
在创建房间后,我在Lobby对象中使用了一个方法。
socket.on('createRoom',function(roomName){
Lobby.createRoom(roomName);
});
但是当我创建一个新的对象游戏时进入大厅
createRoom: function(name){
var game = new Game();
它告诉我游戏没有定义并关闭服务器...我需要做什么来使用模块游戏里面的大厅?这是我第一次使用nodejs,我仍然是一个新手,我不知道如何使它工作。 :/
谢谢你的帮助!
答案 0 :(得分:1)
您已将其调用到Server模块的范围内,并且当前只能从该范围访问它。
您必须在Lobby模块中要求Game模块才能在那里使用它。
答案 1 :(得分:0)
var
不会使对象成为全局对象。在lobby.js
文件中,添加
var Game = require('./game');
到代码的顶部。