根据官方教程的描述,小游戏的canvas2D支持了大部分属性:
https://developers.weixin.qq.com/minigame/dev/document/render/canvas/RenderingContext.html
2d 接口支持情况
iOS/Android 不支持的 2d 属性和接口
globalCompositeOperation 不支持以下值: source-in source-out destination-atop lighter copy。如果使用,不会报错,但是将得到与预期不符的结果。
isPointInPath
经过测试,在我们的游戏里,Shadow和Gradient相关的功能,在开发工具的模拟器环境下一切正常,可是一旦进入真机环境(ios/android),就都没法工作了。程序并不报错,但就是没有效果。具体是下面这些属性
- shadow
- shadow
- shadow
- shadow
- createLinearGradient
望改进,不然一些好的效果实现起来比较费劲
反馈已收到,我们考虑一下。
最近我们又用到了绘制多边形的功能,大致的代码如下:
ctx.fillstyle = 'rgb(255, 0, 0)'
ctx.beginPath()
ctx.moveTo(x1, y1)
ctx.lineTo(x2, y2)
ctx.lineTo(x3, y3)
ctx.fill()
但是,在手机上(ios/android)都没能正确的显示颜色(红色),而始终是黑色,同样在模拟器上没有问题
另外关于fillstyle的颜色设置,用rgb(r,g,b)和rgba(r,g,b,255)的表现似乎并不一样。
确实是这样,貌似一些透明度 细微粒度的效果都不支持的,只能画一些简单粗暴的图形