JoshuaDavis icon

HYPE + Gradients

JoshuaDavis | PRO | 08/01/18 06:19:42 PM UTC | 0 ⭐ | 367 👁️ | Never ⏰ | []
Java |

1.53 KB

|

None

|

0 👍

/

0 👎

import hype.*;
import hype.extended.behavior.HRotate;
import hype.extended.layout.HGridLayout;
 
int stageW = 900;
int stageH = 900;
int bgClr  = #242424;
 
HDrawablePool pool;
 
PImage gradTex1, gradTex2, gradTex3;
 
void settings() {
    size(stageW, stageH, P3D);
    fullScreen(1);
}
 
void setup() {
    H.init(this).background(bgClr).use3D(true);
 
    gradTex1 = loadImage("grad_001.png");
    gradTex2 = loadImage("grad_002.png");
    gradTex3 = loadImage("tex3b.png");
 
    pool = new HDrawablePool(100);
    pool.autoAddToStage()
        .add(new HBox().texture(gradTex1))
        .add(new HBox().texture(gradTex2))
        .add(new HBox().texture(gradTex3))
 
        // .add(new HSprite().texture(gradTex1))
        // .add(new HSprite().texture(gradTex2))
 
        .layout(new HGridLayout().startX(44.5).startY(44.5).spacing(90,90).cols(10))
        .onCreate(
             new HCallback() {
                public void run(Object obj) {
                    HDrawable d = (HDrawable) obj;
 
                    int ranRot = 90 + ( (int)random(4)*90 );
 
                    // d.noStroke().fill(255, 225).size(178).anchorAt(H.CENTER).rotation(ranRot);
                    d.noStroke().fill(255, 225).size(178).rotation(ranRot).z( (int)random(-100,100) );
 
                    float ranX = random(-1.0, 1.0);
                    float ranY = random(-1.0, 1.0);
                    float ranZ = random(-1.0, 1.0);
 
                    new HRotate().target(d).speedX(ranX).speedY(ranY).speedZ(ranZ);
                }
            }
        )
        // .requestAll()
        .shuffleRequestAll()
    ;
}
 
void draw() {
    pushMatrix();
        translate( (width/2)-(stageW/2), (height/2)-(stageH/2) );
        H.drawStage();
    popMatrix();
}

Comments