微信小程序里无法执行if中的语句
本帖最后由 qqilin1213 于 2020-12-2 14:09 编辑initTexture: function(gl,program,n){
var texUnit0 = false,texUnit1 = false;
const texture0 = gl.createTexture();//创建纹理图像缓冲区
const texture1 = gl.createTexture();//创建纹理图像缓冲区
var u_Sampler0 = gl.getUniformLocation(program,'u_Sampler0');
var u_Sampler1 = gl.getUniformLocation(program,'u_Sampler1');
//设置纹理贴图填充方式(纹理贴图像素尺寸大于顶点绘制区域像素尺寸)
let image0 = canvas.createImage();
image0.src = "../../../../../image/小豆泥.jpg";
let image1 = canvas.createImage();
image1.src = "../../../../../image/小豆泥2.png";
const loadTexture = function(image){
if(texUnit0===false){
gl.activeTexture(gl.TEXTURE0);
texUnit0 = true;
//向target绑定纹理对象
gl.bindTexture(gl.TEXTURE_2D,texture0);
//将0号纹理传递给着色器
gl.uniform1i(u_Sampler0,0);
}else{
gl.activeTexture(gl.TEXTURE1);
texUnit1 = true;
//向target绑定纹理对象
gl.bindTexture(gl.TEXTURE_2D,texture1);
//将0号纹理传递给着色器
gl.uniform1i(u_Sampler1,1);
}
//对纹理图像进行y轴反转
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL,1);
//配置纹理参数
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
//配置纹理图像
gl.texImage2D(gl.TEXTURE_2D,0,gl.RGB,gl.RGB,gl.UNSIGNED_BYTE,image);
if(texUnit1 && texUnit0){
gl.clear(gl.COLOR_BUFFER_BIT);
gl.drawArrays(gl.TRIANGLE_STRIP,0,n);
}
}
image0.onLoad = function(){
loadTexture(this);
}
image1.onLoad = function(){
loadTexture(this);
}
return texUnit0;
}
学海无涯。 我觉得是判断条件的原因,编译器觉得判断不出满足条件,也不判断不出条件的对立面。 我想知道小程序能不能提取出来呢 已解决,在加载图片时,误用onLoad函数,因使用加载图片的onload函数{:1_907:}{:1_907:}{:1_907:} 检查第12行代码
页:
[1]