Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

694
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda