This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
spcs:2015:day5 [2015/07/09 17:28] ffpaladin |
spcs:2015:day5 [2015/07/09 19:24] ffpaladin |
||
---|---|---|---|
Line 74: | Line 74: | ||
</code> | </code> | ||
+ | <code java> | ||
+ | |||
+ | // Example: Two Car objects | ||
+ | Car myCar1; | ||
+ | Car myCar2; // Two objects! | ||
+ | |||
+ | void setup() { | ||
+ | size(200,200); | ||
+ | // Parameters go inside the parentheses when the object is constructed. | ||
+ | myCar1 = new Car(color(255,0,0),0,100,2); | ||
+ | myCar2 = new Car(color(0,0,255),0,10,1); | ||
+ | } | ||
+ | |||
+ | void draw() { | ||
+ | background(255); | ||
+ | myCar1.drive(); | ||
+ | myCar1.display(); | ||
+ | myCar2.drive(); | ||
+ | myCar2.display(); | ||
+ | } | ||
+ | |||
+ | // Even though there are multiple objects, we still only need one class. | ||
+ | // No matter how many cookies we make, only one cookie cutter is needed. | ||
+ | class Car { | ||
+ | color c; | ||
+ | float xpos; | ||
+ | float ypos; | ||
+ | float xspeed; | ||
+ | |||
+ | // The Constructor is defined with arguments. | ||
+ | Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) { | ||
+ | c = tempC; | ||
+ | xpos = tempXpos; | ||
+ | ypos = tempYpos; | ||
+ | xspeed = tempXspeed; | ||
+ | } | ||
+ | |||
+ | void display() { | ||
+ | stroke(0); | ||
+ | fill(c); | ||
+ | rectMode(CENTER); | ||
+ | rect(xpos,ypos,20,10); | ||
+ | } | ||
+ | |||
+ | void drive() { | ||
+ | xpos = xpos + xspeed; | ||
+ | if (xpos > width) { | ||
+ | xpos = 0; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </code> | ||
+ | |||
+ | <code java> | ||
+ | |||
+ | int x, y; | ||
+ | void setup() | ||
+ | { | ||
+ | size (500,500); | ||
+ | } | ||
+ | |||
+ | void draw() | ||
+ | { | ||
+ | ellipse(x,y,20,20); | ||
+ | if ((key == 'd') && (keyPressed)) | ||
+ | { | ||
+ | x++; | ||
+ | } | ||
+ | else if (key == 's') | ||
+ | { | ||
+ | y++; | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | |||
+ | </code> |