HColorPool()

Ahora vamos a realizar el mismo ejercicio usando HYPE y su función HColorPool().

Empezamos declarando dos objetos de la clase HRect (rectángulos en HYPE): d serán los rectángulos principales y dShadow sus sombras. El objeto colors de la clase HColorPool nos permitirá crear la paleta de colores.También declaramos las variables w y h, ancho y alto respectivamente de cada rectángulo

HRect d, dShadow;
HColorPool colors;
float w;
float h;

En la siguiente sección iniciamos HYPE mediante H.init(this) y asignamos el color de fondo inmediatamente después.

void setup() {
  size(600, 600);
  H.init(this).background(#FAE8CD);
  smooth();

Ahora creamos la paleta:

  colors = new HColorPool( #C74029, #FAE8CD, #128085, #385052, #F0AD44);

Para crear la red de rectángulos usamos dos funciones for() anidadas. En el ejemplo anterior hemos usado while(). Cualquiera de las dos es válida.

for (int x = 0; x<width; x+=15) {
    for (int y = 0; y<width; y+=15) {
      w = int(random(5, 25));
      h = int(random(5, 25));
 
      dShadow = new HRect();
      d = new HRect();
 
      dShadow
        .fill( 50,60 )
        .noStroke()
        .size( w, h )
        .loc( x+2, y+2)
        .anchorAt(H.CENTER)
      ;
 
      d
        .noStroke()
        .fill( colors.getColor() )
        .size( w, h )
        .loc( x, y)
        .anchorAt(H.CENTER)
       ;
      H.add(dShadow);
      H.add(d);
 
    }
  }

Como se ve, hemos invocado los dos objetos HRect() que habíamos declarado antes y luego les hemos asignado sus propiedades (métodos en realidad) mediante method chaining.

Ahora las enviamos al lienzo mediante H.add(). El orden en el que se muestran en pantalla lo determina esta última función, por lo que la sombra debe ir antes que los rectángulos para que estos la solapen.

Y finalmente enviamos el lienzo a la pantalla y cerramos:

  H.drawStage();
}

El resultado es idéntico al anterior y la lógica es prácticamente la misma, pero la sintaxis es algo distinta.

Leave a Comment.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.