【问题标题】:Lance.gg in multiplayer html5 game does not sync多人 html5 游戏中的 Lance.gg 不同步
【发布时间】:2018-05-17 04:34:53
【问题描述】:

我正在尝试创建multiplayer game in HTML5。我找到了 lance.gg 并玩了起来。我这样修改了 Pong 游戏。

  • 移除桨(只剩下球)
  • 将重力设置为(0, 0.1)
  • 设置Ball.velocity.y = -3每次键盘输入空格键

这是结果https://youtu.be/MmQOqR71Df0。如您所见,它并没有真正在窗口上同步。我怎样才能让它在许多玩家之间顺利移动?

【问题讨论】:

    标签: javascript html game-engine multiplayer lance


    【解决方案1】:

    Ball.js 类定义了以下 getter:

    get bendingVelocityMultiple() { return 0.0; }
    

    这指示客户端忽略服务器的速度更新。结果是客户端和服务器速度不同步,并导致您捕获的视频。

    如果您改为设置:

    get bendingVelocityMultiple() { return 0.8; }
    

    然后问题就会消失。不过,将bendingVelocityMultiple 设置为零在其他情况下可能会很有用,例如,如果您想在球员输球时将球移回中心。

    看看documentation for GameObject

    【讨论】:

    • 谢谢。我得到了它。你能告诉我如何创建一个地面对象吗?就像当球撞到地面时,它停止下落。以及如何检测它是否撞到了其他一些特殊形状的物体?
    • 您可能想将此作为一个单独的问题提出。但它的要点是你可能不需要地面的游戏对象,因为地面不需要与所有玩家同步。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    相关资源
    最近更新 更多