我正在编写一个 JavaScript 网页游戏,它具有类似 Urban Dead 的 3 x 3 视窗。 "世界地图" 存储为 100 x 100 的二维数组(nodejs)在服务器端,每对坐标定义了一个 "房间"。因此,3 x 3 视口显示了 9 个房间的名称和内容。
用户的位置以坐标形式存储在服务器端。例如:
问题:如何考虑使视口 "刷新" 或更新?我的想法是这样的...
用户的位置以坐标形式存储在服务器端。例如:
Bob = { x : 2, y : 3 }
。所以 Bob 的 x 坐标是 Bob.x
。客户端(浏览器)可以检索此信息并计算出其他 8 个房间的坐标,并请求服务器提供这些房间的内容。然后在视口中显示这些内容。这应该看起来像 Urban Dead 中的视口(左上角)。问题:如何考虑使视口 "刷新" 或更新?我的想法是这样的...
1) 当玩家从坐标(2,3)移动到(1,3)时,客户端会再次向服务器请求9个房间的内容,并重新绘制/显示所有内容。
2) 当一个房间的内容发生变化时,服务器(nodejs)运行一个客户端函数,告诉它请求服务器获取9个房间的内容并重新绘制/显示所有内容。
作为编程新手,我想知道这种实现方式是否太幼稚或低效?