jeonghopark
12/15/2015 - 2:06 PM

keyStone_01.pde

import deadpixel.keystone.*;
Keystone keyStone;
CornerPinSurface surface;

PGraphics offscreen;

float movX, movY;
float directionX, directionY;
float speedX, speedY;

void setup() {

  size(1280, 800, P3D);

  keyStone = new Keystone(this);
  surface = keyStone.createCornerPinSurface(400, 400, 20);
  offscreen = createGraphics(400, 400, P3D);

  directionX = 1;
  directionY = 1;
  speedX = random(3, 7);
  speedY = random(3, 7);
}


void draw() {

  background(0);

  movX = movX + directionX * speedX;
  movY = movY + directionY * speedY;

  if (movX>400) directionX = -1;
  if (movX<0) directionX = 1;
  if (movY>400) directionY = -1;
  if (movY<0) directionY = 1;

  PVector surfaceMouse = surface.getTransformedMouse();


  offscreen.beginDraw();

  offscreen.background(255);
  offscreen.fill(0, 255, 0);
  offscreen.ellipse(surfaceMouse.x, surfaceMouse.y, 75, 75);
  offscreen.fill(0, 255, 0);
  float _size = 40;
  offscreen.ellipse(movX, movY, _size, _size);

  offscreen.endDraw();



  surface.render(offscreen);
}


void keyPressed() {
  switch(key) {
  case 'c':
    // enter/leave calibration mode, where surfaces can be warped 
    // and moved
    keyStone.toggleCalibration();
    break;

  case 'l':
    // loads the saved layout
    keyStone.load();
    break;

  case 's':
    // saves the layout
    keyStone.save();
    break;
  }
}