2017-05-30 1 views
0
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); 
} 

Voici mon code p5.js.p5.js this._renderer.image n'est pas un problème de fonctionnement

Lorsque j'utilise le image() function Le message d'erreur suivant s'affiche en permanence.

Uncaught TypeError: this._renderer.image is not a function

Existe-t-il une solution? Lorsque vous n'utilisez pas 'WEBGL', il télécharge des images sans erreur, mais la fonction camera() ne fonctionne pas.

+0

Pouvez-vous modifier la question avec la trace de la pile de l'erreur dans la console? Il semble que l'erreur ne vient pas du code que vous avez posté –

Répondre

0

L'image n'est pas une fonction WEBGL. Essayez à la place d'appliquer une texture d'image à un plan.

texture(adobe1bar1); 
translate(-250, -250, 0); 
plane(500); 

https://github.com/processing/p5.js/wiki/Getting-started-with-WebGL-in-p5

EDIT: Pour utiliser la texture transparente, vous devez activer le mode de fusion qui peut être fait en utilisant:

fill(0,0,0,0); 

Dans la configuration

+0

comment puis-je utiliser l'image png (image transparente) sur texture()? – JuneNan

+0

@JuneNan Cela ressemble à une question distincte. Veuillez le poster dans un nouveau post avec une mise à jour [mcve]. –