topical media & game development

talk show tell print

graphic-processing-learning-05-example-5-10-example-5-10.pde / pde



  // Learning Processing
  // Daniel Shiffman
  // http://www.learningprocessing.com
  
  // Example 5-10: Zoog and conditionals
  float x = 100;
  float y = 100;
  float w = 60;
  float h = 60;
  float eyeSize = 16;
  
  // Zoog has variables for speed in the horizontal and vertical direction.
  float xspeed = 3;
  float yspeed = 1;
  
  void setup() {
    size(200,200);  
    smooth();      
  }
  
  void draw() {
  
    // Change the location of Zoog by speed
    x = x + xspeed;
    y = y + yspeed;
  
    // An IF statement with a logical OR determines if Zoog has reached either the right or left edge of the screen.  
    // When this is true, we multiply speed by Ð1, reversing ZoogÕs direction!
    // Identical logic is applied to the y direction as well.
    if ((x > width) || (x < 0)) {
      xspeed = xspeed * -1;
    }
  
    if ((y > height) || (y < 0)) {
      yspeed = yspeed * -1;
    }
  
    background(255);  
    ellipseMode(CENTER);
    rectMode(CENTER); 
  
    // Draw Zoog's body
    stroke(0);
    fill(150);
    rect(x,y,w/6,h*2);
  
    // Draw Zoog's head
    fill(255);
    ellipse(x,y-h/2,w,h); 
  
    // Draw Zoog's eyes
    fill(0); 
    ellipse(x-w/3+1,y-h/2,eyeSize,eyeSize*2); 
    ellipse(x+w/3-1,y-h/2,eyeSize,eyeSize*2);
  
    // Draw Zoog's legs
    stroke(0);
    line(x-w/12,y+h,x-w/4,y+h+10);
    line(x+w/12,y+h,x+w/4,y+h+10);
  }
  


(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.