2015-04-02 1 views
0

Я делаю игру в MeteorJS, где игроки могут прыгать. Я определил метод на моем сервере:Как назвать метод заглушки для всех подключенных клиентов с помощью Meteor

Meteor.methods({ 
    jump: function() { 
    // Send 'jump' event to all connected players 
    } 
}); 

Если мой клиент прыгает, я хочу, чтобы сообщить другим игрокам, что я «прыгнул», делая что-то вроде

Meteor.call('jump'); 

Я надеялся, что сервер может определить метод «прыжок», который затем вызывает заглушки для всех подключенных клиентов. Можно ли только вызвать заглушку на клиенте, который вызвал оригинальный метод?

Мне нужен каждый игрок, чтобы послушать событие «прыгать», чтобы они могли добавить физическую силу к своему местному игроку, чтобы он прыгал в воздух. Могу ли я достичь чего-то подобного с помощью методов? Или есть другой способ?

ответ

1

Вы можете получить его с помощью коллекции типов очереди сообщений (pub/sub). Если вы не хотите делать это через БД, вы можете попробовать такой проект, как этот https://github.com/arunoda/meteor-streams, который использует существующее соединение веб-сокетов Meteor. Проект не поддерживается, но, похоже, работает в версии 1.0.