Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

684
Views
Pregunta de principiantes sobre la función print() de p5js

He visto algunas publicaciones cerradas en GitHub, y la pregunta similar sin resolver ocasional en retornos aleatorios, pero puedo obtener una buena explicación de por qué en un simple comando print() de un objeto definido, el objeto se está imprimiendo en la consola aparentemente en un bucle:

ingrese la descripción de la imagen aquí

Acabo de empezar a usar p5js y no sé javascript. Por lo tanto, puede ser donde se colocan los comandos ( function setup() o function draw() ), que todavía no estoy seguro de por qué están predeterminados en la página de inicio del editor, o debo especificar que quiero que el resultado se imprima solo una vez. (?).

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Esto sucede porque draw() se ejecuta en un bucle. Detrás de escena, la biblioteca p5js usa requestAnimationFrame para llamar a draw() .

Puede mover la declaración de print para que esté dentro de la función setup() , que solo se ejecuta una vez al comienzo del script.

 function setup() { createCanvas(400, 400); c = createVector(0,0); print(c.toString()); } function draw() { //print(c.toString()); background(220); }

O si lo prefiere, puede configurar un bloque de impresión condicional de la siguiente manera:

 var printed = false; function setup() { createCanvas(400, 400); c = createVector(0,0); //print(c.toString()); } function draw() { if (!printed) { print(c.toString()); printed = true; } background(220); }

Nota : también considere usar el método toString en el objeto p5.Vector para una salida más limpia.

Si necesita obtener resultados de una función que se llama desde dentro de la función draw() , puede aplicar los mismos principios de la siguiente manera:

 var printed = false; function setup(){ createCanvas(400, 400); c = createVector(0,0); print(c); } function draw() { background(220); } function beingCalledWithinDraw(){ if (!printed) { print(c); printed = true; } }

Ejemplo ejecutable:

 var printed = false; function setup() { createCanvas(400, 400); c = createVector(0, 0); //print(c.toString()); } function draw() { background(220); beingCalledWithinDraw(); } function beingCalledWithinDraw() { if (!printed) { print(c.toString()); printed = true; } }
 <script src="https://cdn.jsdelivr.net/npm/p5@1.4.0/lib/p5.min.js"></script>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!