213
edits
Line 299: | Line 299: | ||
} | } | ||
</source> | |||
<br /><br /> | |||
=== Exercise: Bouncing Line === | |||
This is one possible solution to achieve that the | |||
line from the example above changes it direction | |||
when it reaches the left and right boundaries of | |||
the sketch window. | |||
<source lang="java"> | |||
/* BOUNCING LINE | |||
* | |||
* This is a modification of the previous sketch | |||
* so that the line will bounce off the left and | |||
* right borders of the window. Notice the introduction | |||
* of the variable "speed" to control the speed and | |||
* direction of the moving line. | |||
* | |||
* Frederic Gmeiner 2011 | |||
*/ | |||
// variable to hold the currect x position of the line | |||
int lineX = 0; | |||
// variable that controls the speed and direction | |||
int speed =1; | |||
void setup(){ | |||
size(500,300); | |||
} | |||
void draw(){ | |||
background(204); | |||
// if the x position of the line exceeds the right border of the window: | |||
// change the direction by setting the speed to a negative value | |||
if(lineX > width){ | |||
speed = -1; | |||
} | |||
// accordingly set the speed to a positive value as soon as the line touches | |||
// the left border. | |||
if(lineX < 0 ){ | |||
speed = 1; | |||
} | |||
// here the new x position is calculated by adding the speed onto the | |||
// current x position. if speed is -1, lineX decreases. if speed is 1, lineX | |||
// increases. | |||
lineX = lineX + speed; | |||
// draw the line based on the calculated x position: | |||
line(lineX,0,lineX,height); | |||
} | |||
</source> | </source> | ||
<br /><br /> | <br /><br /> |
edits