Я работал в течение последних 4 недель в многопользовательской игре на основе NodeJS и Express. В папке с папкой / lib / есть несколько разных классов.
Итак, давайте сосредоточимся на 2:
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу вызвать метод игры из Player.Js, в то время как можно вызывать методы Player.Js из Game.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. Есть ли способ вызвать методы Game из Bullet.Js или Player.Js?
2. Есть ли способ использовать socket.emit из того же?
Цель:
Найдите способ отправки информации в чат, когда событие происходит в bullet.Js.
Кроме того, кто-нибудь может предложить хорошее программное обеспечение для визуализации / построения диаграмм приложений для сопоставления классов и методов?
С уважением !!
Крис,