我正在使用后端的Node在JS中编写网页游戏。为了简化操作,我尝试让服务器和客户端共享尽可能多的代码。我通过让Server
对象和Client
对象继承相同的Game
对象来实现。
在大多数情况下,它运作良好:我在Game
对象中共享函数,Server
中的服务器特定函数和Client
中的客户端特定函数。但是对于某些情况我只是不知道该怎么做:例如,如果对于给定的共享函数(比如说update_physics()
),服务器可能正在做一些客户端不具备的特定内容。应该这样做(比如检查游戏元素是否已经死亡),我该如何在代码中使用它?
我正朝着这个方向前进,但它有点打破分离文件(共享/服务器/客户端)的重点:
function update_physics () {
// do stuff for both client and server
if (this.is_server) {
// do server specific stuff
}
}
是否有更简单/更好的方式来实现我想要的目标?