var adobe1bar1;
function preload() {
adobe1bar1 = loadImage("1-1.png");
}
function setup() {
createCanvas(500, 500, WEBGL);
center = createVector(width / 2, height / 2, height / 2);
cameraZ = -500;
}
function draw() {
background(40); // backgraound white
var cameraX = map(mouseX, 0, width, -500, 500); // map
var cameraY = map(mouseY, 0, height, -500, 500);
console.log(cameraY, cameraX);
if (cameraZ < -500) {
cameraZ = -500;
}
if (cameraZ > 0) {
cameraZ = 0;
}
camera(center.x + cameraX, center.y + cameraY, center.z + cameraZ, center.x, center.y, center.z, 0, 1, 0);
translate(center.x, center.y, center.z);
translate(0, 0, 0);
image(adobe1bar1, -250, -250, 500, 500);
}
这是我的p5.js代码。
当我使用image() function
时
以下错误消息一直出现。
未捕获的TypeError:this._renderer.image不是函数
有解决方案吗?
不使用'WEBGL'时,
它上传图像没有错误,
但camera()
功能不起作用。
答案 0 :(得分:1)
图像不是WEBGL功能。
尝试将图像纹理应用于平面。
texture(adobe1bar1);
translate(-250, -250, 0);
plane(500);
https://github.com/processing/p5.js/wiki/Getting-started-with-WebGL-in-p5
修改强> 要使用透明纹理,您需要启用混合模式,可以使用以下方法完成:
fill(0,0,0,0);
在设置
中