基础库 1.0.0 开始支持,低版本需做兼容处理。
画布。2.9.0 起支持一套新 Canvas 2D 接口(需指定 type 属性),同时支持同层渲染,原有接口不再维护。相关api:获取 canvas 实例。可以使用 真机调试2.0 进行调试。
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
type | string | 否 | 指定 canvas 类型,支持 2d (2.9.0) 和 webgl (2.7.0) | 2.7.0 | |
canvas-id | string | 否 | canvas 组件的唯一标识符,若指定了 type 则无需再指定该属性 | 1.0.0 | |
disable-scroll | boolean | false | 否 | 当在 canvas 中移动时且有绑定手势事件时,禁止屏幕滚动以及下拉刷新 | 1.0.0 |
bindtouchstart | eventhandle | 否 | 手指触摸动作开始 | 1.0.0 | |
bindtouchmove | eventhandle | 否 | 手指触摸后移动 | 1.0.0 | |
bindtouchend | eventhandle | 否 | 手指触摸动作结束 | 1.0.0 | |
bindtouchcancel | eventhandle | 否 | 手指触摸动作被打断,如来电提醒,弹窗 | 1.0.0 | |
bindlongtap | eventhandle | 否 | 手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动 | 1.0.0 | |
binderror | eventhandle | 否 | 当发生错误时触发 error 事件,detail = {errMsg} | 1.0.0 |
在开发者工具中预览效果
<!-- canvas.wxml -->
<canvas type="webgl" id="myCanvas"></canvas>
// canvas.js
Page({
onReady() {
const query = wx.createSelectorQuery()
query.select('#myCanvas').node().exec((res) => {
const canvas = res[0].node
const gl = canvas.getContext('webgl')
gl.clearColor(1, 0, 1, 1)
gl.clear(gl.COLOR_BUFFER_BIT)
})
}
})