收藏
回答

小程序如何将两个CANVAS拼接在一起?

想做一个拼图游戏的小程序,现在我使用了CANVAS来绘制拼图的碎片(比方说分成9个碎片就用了9个CANVAS)。

现在我拖拽碎片到两个相邻的碎片位置拼合时,能不能实现将两个CANVAS拼接到一起,后面点击拖拽这两个碎片中任意一个时,都能一起移动呢?

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

3 个回答

  • 毅+花
    毅+花
    05-23

    CANVAS感觉好复杂,之前用其他方法实现过

    05-23
    有用
    回复 1
    • 蒋继鹏
      蒋继鹏
      05-23
      感谢回复!请问大概的思路是怎样的呢
      05-23
      回复
  • Jerry
    Jerry
    05-22

    为啥搞9个,你在1个canvas上都画了不就结了

    05-22
    有用
    回复 2
    • 蒋继鹏
      蒋继鹏
      05-22
      我要实现碎片可拖拽的,都绘制在一个canvas上怎么实现各个碎片都能独立拖拽移动呢
      05-22
      回复
    • Jerry
      Jerry
      05-23回复蒋继鹏
      ?? ?当然是自己处理touch事件啊
      05-23
      回复
  • 拾忆
    拾忆
    05-22

    CANVAS够呛,你可以试试下面的,具体参考文档:https://developers.weixin.qq.com/miniprogram/dev/component/movable-area.html


    wxml:

    <movable-area style="height: 200px; width: 200px;">
      <movable-view wx:for="{{positions}}" wx:key="id" style="height: 40px; width: 40px; background-color: red;"
        x="{{item.x}}" y="{{item.y}}" direction="all">
      </movable-view>
    </movable-area>
    


    js:

    Page({
      data: {
        positions: [
          { x: 0, y: 0, id: 1 },
          { x: 40, y: 0, id: 2 },
          { x: 80, y: 0, id: 3 },
          { x: 0, y: 40, id: 4 },
          { x: 40, y: 40, id: 5 },
          { x: 80, y: 40, id: 6 },
          { x: 0, y: 80, id: 7 },
          { x: 40, y: 80, id: 8 },
          { x: 80, y: 80, id: 9 }
        ]
      }
    });
    


    05-22
    有用
    回复 1
    • 蒋继鹏
      蒋继鹏
      05-23
      感谢回复!我目前用canvas是可以实现拖拽移动的,就是不知道怎样能处理两个碎片拼接到一起后,实现作为一个整体一起移动
      05-23
      回复
登录 后发表内容