收藏
回答

我该如何实现多人共同在一张canvas上画图啊?

非常感谢,没思路呢。

回答关注问题邀请回答
收藏

6 个回答

  • Undefined
    Undefined
    2021-07-12

    多人绘制不难:

    每个人要有2个canvas,叠起来,自己用上层的那个,下层的用来接收别人的,用ws接收肯定是有先后顺序的,不会导致同时使用2d对象,自己用一个canvas也不会和远端产生冲突,所以不会出问题。

    我现在的难题是:多人实时绘制,要看到绘制过程。这个问题的解决是要实时建立一个实时绘制的池,用来计算出每一时刻需要绘制的数据,数据量随着人数上升会极大,阻挡在了性能问题上。

    2021-07-12
    有用
    回复
  • 微盟
    微盟
    2021-01-25

    可以从以下几个方面考虑实现该功能:

    1.单端与多端如何通信?使用websocket还是接口轮训?

    2.怎样保证多端通信下数据的准确性和延迟性?当出现数据冲突时该如何解决?

    3.画图本质上可以理解为有一个画布,有若干支笔在上面画出很多点,单人就是一支笔,多人就是多只笔;

    4.如果你知道一支笔(单人)怎么画点了,那多人不就是睡到七成吗?

    2021-01-25
    有用
    回复 1
    • 猛男陈阔
      猛男陈阔
      2021-01-25
      2021-01-25
      回复
  • 社恐的王同学
    社恐的王同学
    2021-01-25

    https://github.com/jasondu/wxa_drawguess/blob/master/pages/drawguess/index.js 参考这个 记录每一个用户的操作点websocket发送给其他在线用户

    2021-01-25
    有用
    回复
  • 太阳照耀我
    太阳照耀我
    2021-01-25

    我的知道,记住每个人画的点

    2021-01-25
    有用
    回复 2
    • 张海波
      张海波
      2021-01-25
      怎么弄啊 亲
      2021-01-25
      回复
    • 太阳照耀我
      太阳照耀我
      2021-01-25回复张海波
      socket,官方文档有的,就像聊天那样,你搜索一下socket的例子;用socket实时传递你手划过的x,y坐标。
      2021-01-25
      回复
  • 猛男陈阔
    猛男陈阔
    2021-01-25

    讲一下需求场景?

    2021-01-25
    有用
    回复 4
    • 张海波
      张海波
      2021-01-25
      多人共同画一张图,大家可以同时看到对方在画布上画的内容
      2021-01-25
      回复
    • 猛男陈阔
      猛男陈阔
      2021-01-25回复张海波
      类似于实时的你画我猜小游戏是吧?
      2021-01-25
      回复
    • 猛男陈阔
      猛男陈阔
      2021-01-25回复张海波
      你可以监听touch事件,动态渲染canvas来实现画图,然后实时的话,你可以用socket来进行传输信息
      2021-01-25
      回复
    • 张海波
      张海波
      2021-01-25
      我就不知道怎么弄socket
      2021-01-25
      回复
  • 卢霄霄
    卢霄霄
    2021-01-25

    你知道单人怎么画吗

    2021-01-25
    有用
    回复 1
    • 张海波
      张海波
      2021-01-25
      知道
      2021-01-25
      回复
登录 后发表内容
问题标签