过去4周,我一直在基于NodeJS和Express的多人游戏中工作。游戏在/ lib /文件夹中有几个不同的类。
所以,让我们专注于2:
我遇到的问题是无法从Player.Js调用游戏方法,同时可以从Game.Js调用Player.Js的方法。
由于Bullet.Js文件正在从Player.Js触发重生方法:
players[i].respawn();
我以为我也可以执行Player.Js的游戏方法...到目前为止,我还没有找到解决方案。
var player = game.all_player_info(socket.id);
^
ReferenceError: game is not defined
at Player.damage (C:\Users\...\Desktop\dos\...\lib\Player.js:319:21)
at Bullet.update (C:\Users\...\Desktop\dos\...\lib\Bullet.js:98:18)
at Game.update (C:\Users\...\Desktop\dos\...\lib\Game.js:199:64)
at Timeout._onTimeout (C:\Users\...\Desktop\dos\...\server.js:751:8)
at ontimeout (timers.js:386:11)
at tryOnTimeout (timers.js:250:5)
at Timer.listOnTimeout (timers.js:214:5)
文件:
https://github.com/penumbragames/tankanarchy/blob/master/lib/Player.js
https://github.com/penumbragames/tankanarchy/blob/master/lib/Game.js
https://github.com/penumbragames/tankanarchy/blob/master/lib/Bullet.js
如果您尝试使用socket.io,也会发生同样的情况……它在Game.Js上效果很好,但似乎超出了Player.Js或Bullet.Js的范围。
我显然是Node的新手...但是:
1。有什么方法可以从Bullet.Js或Player.Js调用游戏方法吗? 2.有什么方法可以使用socket.emit吗?
目标:
找到一种在子弹事件发生时将信息发送到聊天室的方法。
此外,有人可以建议一个好的可视化软件/应用程序图表来映射类和方法吗?
亲切的问候!! 克里斯,