• 微信小程序动画和Canvas笔记


    微信小程序动画和Canvas

    动画

    使用wx.createAnimation创建动画对象

    // 创建动画对象
    const animation = wx.createAnimation({
      duration: 1000, // 动画持续时间
      timingFunction: 'ease', // 动画速度曲线
      delay: 0, // 动画延迟时间
      transformOrigin: '50% 50% 0', // 动画的中心点
    });
    

    动画方法
    animation.opacity(value).step(): 设置透明度
    animation.scale(valueX, valueY).step(): 设置缩放
    animation.rotate(deg).step(): 设置旋转角度
    animation.translate(x, y).step(): 设置平移距离
    animation.skew(ax, ay).step(): 设置倾斜角度

    应用动画

    // 应用动画到指定组件上
    this.setData({
      animationData: animation.export(),
    });
    

    示例

    // 创建动画对象
    const animation = wx.createAnimation({
      duration: 1000,
      timingFunction: 'ease',
    });
    // 设置动画
    animation.translateX(100).rotate(45).step();
    
    // 应用动画
    this.setData({
      animationData: animation.export(),
    });
    

    Canvas
    使用Canvas绘制图形

    // 获取Canvas上下文对象
    const context = wx.createCanvasContext('myCanvas');
    
    // 绘制矩形
    context.setFillStyle('#FF0000');
    context.fillRect(0, 0, 100, 100);
    
    // 绘制圆形
    context.beginPath();
    context.arc(100, 100, 50, 0, 2 * Math.PI);
    context.setFillStyle('#00FF00');
    context.fill();
    context.closePath();
    
    // 绘制文本
    context.setFillStyle('#0000FF');
    context.setFontSize(20);
    context.fillText('Hello Canvas', 50, 150);
    
    // 绘制图片
    context.drawImage('imagePath', 0, 0, 100, 100);
    // 绘制到Canvas
    context.draw();
    

    Canvas事件

    canvasId.tap: 点击事件
    canvasId.touchstart: 触摸开始事件
    canvasId.touchmove: 触摸移动事件
    canvasId.touchend: 触摸结束事件
    canvasId.longtap: 长按事件

    2.3. 示例

    <canvas canvas-id="myCanvas" bindtap="canvasTap" style="width: 300px; height: 200px;">canvas>
    
    Page({
      canvasTap: function (e) {
        console.log('Canvas tapped!');
      },
    });
    

    以上就是我整理的一些微信小程序动画和Canvas的笔记!!!

  • 相关阅读:
    线上展厅多元运用
    CSS鼠标悬浮变小手
    nmap参数详解
    C ++ 类 | 类与函数(Function)_5
    牛客刷题——前端面试【六】谈一谈 v-if、v-show、v-for(区别、注意事项)
    Spring MVC @Controller和@RequestMapping注解
    正则表达式
    Linux之Socket函数(详细篇)
    51页大数据湖总体规划及大数据湖一体化运营管理方案
    vue指令
  • 原文地址:https://blog.csdn.net/xj1216wt/article/details/139436132