topical media & game development

talk show tell print

graphic-processing-learning-04-example-4-8-example-4-8.pde / pde



  // Learning Processing
  // Daniel Shiffman
  // http://www.learningprocessing.com
  
  // Example 4-8: Variable Zoog
  
  // NEW FEATURE #1: Zoog will rise from below the screen and fly off into space (above the screen.)
  // NEW FEATURE #2: ZoogÕs eyes will be colored randomly as Zoog moves.
  
  // Declaring Variables.  
  // zoogX and zoogY are for feature #1.  eyeR, eyeG, eyeB are for feature #2.
  float zoogX;
  float zoogY;
  
  float eyeR;
  float eyeG;
  float eyeB;
  
  void setup() {
    size(200,200);        // Set the size of the window
    // Feature #1.  zoogX and zoogY are initialized based on the size of the window.  
    // Note we cannot initialize these variables before the size() function is called 
    // since we are using the built-in variables width and height.
    zoogX = width/2;      // Zoog always starts in the middle
    zoogY = height + 100; // Zoog starts below the screen
    smooth();
  }
  
  void draw() {
  
    background(255);  // Draw a white background 
    
    // Set ellipses and rects to CENTER mode
    ellipseMode(CENTER);
    rectMode(CENTER); 
    
    // Draw Zoog's body
    stroke(0);
    fill(150);
    // Feature #1.  zoogX and zoogY are used for the shape locations.
    rect(zoogX,zoogY,20,100);
  
    // Draw Zoog's head
    stroke(0);
    fill(255);
    ellipse(zoogX,zoogY-30,60,60); 
  
    // Draw Zoog's eyes
    // Feature #2.  eyeR, eyeG, and eyeB are given random values and used in the fill() function.
    eyeR = random(255);
    eyeG = random(255);
    eyeB = random(255);
    fill(eyeR,eyeG,eyeB);
    
    ellipse(zoogX-19,zoogY-30,16,32); 
    ellipse(zoogX+19,zoogY-30,16,32); 
  
    // Draw Zoog's legs
    stroke(150);
    line(zoogX-10,zoogY+50,zoogX-10,height);
    line(zoogX+10,zoogY+50,zoogX+10,height);
    
    // Zoog moves up
    zoogY = zoogY - 1;
  
  }
  
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.