Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
//Interactive Toy
//Spencer Johnston
//Intro To Media Computation 
//10/06/15 (Submitted Two Days Late)

color blockColor;
float blockPosX;
float blockPosY;
float blockSpeed;
int padding;

void setup(){
  size(800,800);
  noStroke();
  
  padding = 100;
  blockPosX = 350;
  blockPosY = 400;
  blockColor = color(255);
  blockSpeed = 3;
}

void draw(){
  //Update block Position
  moveblock();
  
  //Draw
  background(255);
  drawBackground();
  drawblock();
}

void moveblock(){
  
  //Movement Keys
  if(key == 'a'){
    blockSpeed = 3;

  } else if(key == 'd'){
    blockSpeed = -3;
  }
  
  //Screen Wrapping
  if(blockPosX > width + padding){
    blockPosX = 0 - padding;
    //blockPosY = random(0, height);
  } 
  if(blockPosX < 0 - padding){
    blockPosX = width + padding;
    //blockPosY = random(0, height);
  } 
  
  //Physical Movement
  blockPosX -= blockSpeed;

}

void drawBackground(){
 
  //Sky Background Gradient Pattern
  for(int i = 0; i < 5; i++){
    fill(0, 0, i * 20);
    rect(0, i * 100, width, 100);
  } 
  
}

void drawblock(){
  //Draw block
  fill(blockColor);
  rect(blockPosX, blockPosY, 100, 100);
  fill(0);
  rect(blockPosX + 25, blockPosY + 70, 50, 10);
  ellipse(blockPosX + 30, blockPosY + 30, 30, 30);
  ellipse(blockPosX + 70, blockPosY + 30, 20, 20);
  //Change Color based on Mouse Position
  if((mouseX > blockPosX && mouseX < blockPosX + 100) && (mouseY > blockPosY && mouseY < blockPosY + 100)){
    blockColor = color(0, random(0, 255), random(0, 255));
  } else {
    blockColor = color(255);
  }
}