微信小程序动画和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的笔记!!!

相关推荐

  1. 程序动画Canvas笔记

    2024-06-08 21:10:03       20 阅读
  2. 程序动画

    2024-06-08 21:10:03       15 阅读
  3. 程序canvas开发的一些坑总结-持续更新

    2024-06-08 21:10:03       37 阅读
  4. 程序canvas手写签字

    2024-06-08 21:10:03       39 阅读
  5. 程序canvas绘实现贴纸效果

    2024-06-08 21:10:03       40 阅读
  6. 程序canvas画布不清晰解决方法

    2024-06-08 21:10:03       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 21:10:03       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 21:10:03       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 21:10:03       4 阅读
  4. Python语言-面向对象

    2024-06-08 21:10:03       6 阅读

热门阅读

  1. ES5/ES6 的继承除了写法以外还有什么区别?

    2024-06-08 21:10:03       15 阅读
  2. Jetpack compose中State和Kotlin Flow对比

    2024-06-08 21:10:03       17 阅读
  3. django支持https

    2024-06-08 21:10:03       17 阅读
  4. 如何反编译jar并修改后还原为jar

    2024-06-08 21:10:03       16 阅读
  5. nacos新版踩坑

    2024-06-08 21:10:03       14 阅读
  6. Openresty人机验证流程

    2024-06-08 21:10:03       12 阅读
  7. 【重学C语言】十九、SDL2 图形化编程的使用

    2024-06-08 21:10:03       18 阅读