p5.j​​s this._renderer.image不是函数问题

时间:2017-05-30 15:04:26

标签: processing

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()功能不起作用。

1 个答案:

答案 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); 

在设置