|
| 1 | +--- |
| 2 | +title: draw |
| 3 | +module: Structure |
| 4 | +submodule: Structure |
| 5 | +file: src/core/main.js |
| 6 | +description: | |
| 7 | + <p> |
| 8 | + La función <code>draw()</code> es la función central de un sketch. Se |
| 9 | + ejecuta de forma continua después de la función |
| 10 | + <a href="/reference/p5/setup">setup()</a>, hasta que el programa se |
| 11 | + detenga o se llame a la función <code>noLoop()</code>. La frecuencia de |
| 12 | + ejecución se establece por defecto en 60 fotogramas por segundo, y podemos |
| 13 | + ajustarlo mediante la función |
| 14 | + <a href="/reference/p5/frameRate">frameRate()</a>. |
| 15 | + </p> |
| 16 | + <p> |
| 17 | + Podemos controlar cuándo y cómo se ejecuta <code>draw()</code> con las |
| 18 | + funciones: |
| 19 | + </p> |
| 20 | + <ul> |
| 21 | + <li><a href="/reference/p5/noLoop">noLoop()</a> - Detiene la ejecución de cíclica de <code>draw()</code>.</li> |
| 22 | + <li><a href="/reference/p5/loop">loop()</a> - Reanuda la ejecución de cíclica <code>draw()</code>.</li> |
| 23 | + <li><a href="/reference/p5/redraw">redraw()</a> - Ejecuta <code>draw()</code> una sola vez después de haber sido invocada.</li> |
| 24 | + </ul> |
| 25 | + <p> |
| 26 | + Nota: si se llama la función <code>noLoop()</code> dentro de <code>setup()</code>, |
| 27 | + <code>draw()</code> se ejecutará una vez más antes de detenerse. |
| 28 | + </p> |
| 29 | + <p>Consideraciones importantes:</p> |
| 30 | + <ul> |
| 31 | + <li>Solo puede haber una función <code>draw()</code> por sketch.</li> |
| 32 | + <li>La función <code>draw()</code> es indispensable para generar animaciones o procesar eventos como <a href="/reference/p5/mousePressed">mousePressed()</a>.</li> |
| 33 | + <li>Los estilos aplicados, como <code>fill()</code> y <code>stroke()</code>, se mantienen entre ejecuciones consecutivas de <code>draw()</code>.</li> |
| 34 | + <li>Al inicio de cada ejecución de <code>draw()</code>, el sistema de coordenadas se reinicia. Las transformaciones aplicadas previamente, como escalar, rotar y traslación, se eliminan evitando su acumulación.</li> |
| 35 | + </ul> |
| 36 | +line: 113 |
| 37 | +isConstructor: false |
| 38 | +itemtype: method |
| 39 | +alt: nothing displayed |
| 40 | +example: |
| 41 | + - |- |
| 42 | + <div><code> |
| 43 | + let yPos = 0; |
| 44 | + function setup() { |
| 45 | + // setup() runs once |
| 46 | + frameRate(30); |
| 47 | + } |
| 48 | + function draw() { |
| 49 | + // draw() loops forever, until stopped |
| 50 | + background(204); |
| 51 | + yPos = yPos - 1; |
| 52 | + if (yPos < 0) { |
| 53 | + yPos = height; |
| 54 | + } |
| 55 | + line(0, yPos, width, yPos); |
| 56 | + } |
| 57 | + </code></div> |
| 58 | +class: p5 |
| 59 | +chainable: false |
| 60 | +--- |
0 commit comments