微信小程序使用canvas制作拼图动画

 

效果如上图

制作思路:

1. 制作9个由特殊图形拼成的九宫格,包含灰色模糊和彩色高亮;2.生成小拼图并进行一系列变化实现蓄能弹起的动画效果;3.将生成的拼图拼贴在对应的位置上,产生破碎动画特效

准备工作

1.预下载图片:提前准备图片(光效图片和破碎效果图片),图片尽量小

2.将拼图图片利用canvas rgb通道方法制作成模糊灰度图,canvas图片滤镜参考博文小程序中canvas实现图片滤镜_一个......的博客-CSDN博客_canvas 小程序

3.计算拼图的位置,以及拼图的所有坐标

技术实现:

1.制作九宫格拼图,注意留取边框的位置

通过一个star数组来决定高亮还是灰色模糊,初始值全部置灰 star=new Array(9).fill(false)

<view
            class="canvas-wrap"
            style="left:{
  {stop1[index].x}}px;top:{
  {stop1[index].y}}px"
            wx:for="{
  {jigArr}}"
            wx:key="index"
        >
            <canvas
                canvas-id="myCanvas{
  {index+1}}"
                style="width:{
  {imgW}}px;height:{
  {imgH}}px"
            ></canvas>
        </view>
...
 data: {
    jigArr: new Array(9),
    stop1: [
          { x: -20, y: -20 },
          { x: 82, y: -20 },
          { x: 184, y: -20 },
          { x: -20, y: 72 },
          { x: 82, y: 72 },
          { x: 184, y: 72 },
          { x: -20, y: 164 },
          { x: 82, y: 164 },
          { x: 184, y: 164 }
    ], // 9张拼图的位置
    imgW: 140, // 单个拼图的宽度
    imgH: 130 // 单个拼图的高度
}

绘制拼图的方法,重点:使用了canvas的ctx.clip方法,将canvas裁成拼图形

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值