skyfish-qc / pixi-miniprogram

一个可运行于微信小程序的PIXI引擎,通过模拟window环境,有些功能小程序无法模拟,就直接修改了PIXI引擎代码,最终使得PIXI引擎正常运行在小程序上

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

安卓小程序里的canvas背景无法透明

cometwan opened this issue · comments

canvas.getContext('webgl', { alpha: true });
小程序官方给的代码只能在ios下背景透明,Threejs安卓&iOS都可正常transparent
“gl.clear(gl.COLOR_BUFFER_BIT);
gl.clearColor(0, 0, 0, 0);”
大法也试过了...
小程序 2.16.0 微信 8.0.6 android 11

试了一下官方 android下透明bug的解决办法
canvas.getContext("webgl",{ alpha: true}
在PIXI实例init中植入即可.
各个品牌(oppo 华为)测试通过。

那个初始化时候你把transparent设置为true就可以的了,
var renderer = PIXI.autoDetectRenderer({width:stageWidth, height:stageHeight,transparent:true,premultipliedAlpha:true,'view':canvas});//通过view把小程序的canvas传入

这里的transparent的参数最终是去到getContext那里的

那个初始化时候你把transparent设置为true就可以的了,
var renderer = PIXI.autoDetectRenderer({width:stageWidth, height:stageHeight,transparent:true,premultipliedAlpha:true,'view':canvas});//通过view把小程序的canvas传入

这个transparent:true 初始设置过,在各系统表现不一致,但在小程序里的设getContext("webgl",{ alpha: true})
这里的alpha在如果只是单纯的 canvas webgl模式是一致表现为透明的。Pixijs或Threejs都需要再设置。