Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

73
Vistas
p5.js multiple canvases and in\out scope

I have a custom class method which is undefined maybe be someone can explain why:

Here is the structure of my sketch:

//global variables

let cx = 0;

.
.
.
let cy = 0;

class Dot(){
  constructor(xps,ypos,col){
   ....
  }
  over(mx,my){
     ....
  }
  //some more functions
}

//canvas def and inst
let inputSketch = function(){
    isktch.setup = function(){
       let inputCanvas = isktch.createCanvas(250,600);
       inputCanvas.position(0,0);
       isktch.background(245,245,240);
    }
    isktch.draw = function(){ 
    ....
    }
    //some other functions
}
let inputSection = new p5(curveSketch,'inputSketch');

//Another canvas
let curveSketch = function(){
    curveSketch.setup = function(){
       let curveCanvas = curveSketch.createCanvas(250,600);
       curveCanvas.position(0,0);
       curveSketch.background(245,245,240);
    }
    curveCanvas.draw = function(){ 
    ....
    }
    //some other functions
}
let curveSection = new p5(curveSketch,'curveSketch');

//some global functions
....
function editPoints(){
    console.log("edit points");
    let p = inputSection.getCurvePoints();
    curveSection.editPointsArr = [];
    for (var i = 0  ; i<p.length ; i++){
       if (p[i].x >=0){
         let dot = new Dot(p[i].x,p[i].y,curveSketch.color(255,77,77));
         dot.over(curveSection.mouseX,curveSection.mouseY);
         dot.update(curveSection.mouseX,curveSection.mouseY);
         dot.display(curveSection);
         curveSection.editPointsArr[i] = dot;
       }   
    }
    curveSection.showPoints = true;
 }

so in this editPoints function it accepts let dot = new Dot(p[i].x,p[i].y,curveSection.color(255,77,77)); but when calling over I get undefined error: TypeError: Cannot read properties of undefined (reading 'over') I tried to enter just numbers over(40,50) - but still get this error What do I do wrong, i'd love to get an advice as I'm stack as hell. Thanks in advance :)

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda