使用Meteor将数据从服务器流传输到客户端:

奇奇867

我正在与Meteor合作开发一款基于文本的冒险游戏,但在处理某些元素方面遇到了问题。即,如何在没有来自客户端的任何输入的情况下从服务器向客户端发射数据。

这个想法是,当玩家与怪物进行战斗时,战斗伤害以及玩家和怪物对象的更新将在服务器上循环发生。玩家受到伤害时,应该相应地更新客户端UI。使用“发布/订阅”是否可能发生这种情况?

我基本上希望坐下并监听服务器事件以相应地更新战斗日志。

在伪代码中,这与我要查找的内容类似:

// Client Side:
Meteor.call("runCommand", "attack monster");

// Server Side
Meteor.methods({
    runCommand: function(input) {
        // Take input, run the loop to begin combat, 
        // whenever the user takes damage update the 
        // client UI and output a line saying how much 
        // damage the player just received and by who
    }
});

我了解您可以将集合发布到客户端,但这并不是我想要的功能真正的特定功能,我不想将整个Player对象发布到客户端,我只是想告诉客户端在文本框中写一行,写着“您被怪物击中了12点伤害!”。

我希望有一个类似于SocketIO的功能,如果我愿意的话,我可以向客户端发出一个事件,告诉它更新UI。我想我可以根据需要使用SocketIO,但是人们似乎坚决要求像Meteor这样的事情完全可以在没有SocketIO的情况下实现,我只是不十分了解。

在这种情况下,我看到的唯一结果是:在客户端编写所有游戏逻辑,这似乎是个坏主意;将所有战斗日志都编写到一个看起来非常多余的集合中(但也许不是吗?),或者使用一些一种SocketIO类型工具,仅向客户端发出消息,告诉客户端在文本框中写新行。

审查员

使用Meteor,创建战斗日志收集似乎是您最简单的选择。您只能听added事件,然后在战斗结束后清除集合。应该是这样的:

var cursor = Combat_Log.find();
var handleCombatLog = cursor.observe({
  added: function (tmp)
  {
    // do your stuff
  }
});

在这里问类似的问题,希望这会有所帮助^^

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将原始音频数据从服务器流传输到客户端

使用Akka将文件从服务器流传输到客户端

是否可以使用WebRTC将视频从服务器流传输到客户端?

使用socket.io-stream将文件从服务器流传输到客户端

将音频从客户端流传输到服务器再传输到多个客户端Java

通过服务器将S3中的图像流传输到客户端的最佳实践

如何将实时视频帧从客户端流传输到flask服务器,再流回客户端?

如何将数据从服务器传输到客户端js文件?

如何使用SSH将Minecraft客户端隧道传输到MineOS服务器?

使用Python将TCP数据流传输到客户端

将存储在S3上的文件流传输到客户端,而无需将其下载到Flask服务器

使用ffmpeg将图像流传输到服务器

通过Java中的套接字将文件从客户端传输到服务器

如何将SCP从Linux服务器传输到Windows客户端

通过URLConnection将音频文件从客户端传输到Http服务器

WebRTC:如何将客户端A的视频流传输到客户端B?

如何轻松地将服务器端变量从Java代码传输到客户端代码?

Google Glass将视频流传输到服务器

将实时Android音频流传输到服务器

将getUserMedia流传输到服务器

如何使用浏览器中的Flash客户端将网络摄像头流式传输到RTMP服务器?

Zookeeper 客户端会话将超时或传输到另一台服务器?

在Node.js / Express.js中,如何将JSON对象从服务器传输到客户端?

将 unsigned long long 从 C++ 服务器流式传输到 C# 客户端

尝试将文件客户端传输到同一台PC上的服务器时遇到异常

Pyhton 脚本与将内容传输到客户端的 Python Flask 服务器进行通信的最佳方式是什么?

JAVA:使用RSA和SHA-1需要将数据从客户端传输到服务器(数字签名)

使用python的传感器数据和命令传输的客户端-服务器协议

获取错误 - 使用 Socketio 将视频帧从客户端传输到烧瓶服务器时,“PngImageFile”对象没有“形状”属性