Open main menu

CDOT Wiki β

Changes

FSOSS 2010/processing.js/timing

43 bytes removed, 15:11, 27 October 2010
no edit summary
<source lang="JavaScript">
/*
 
FSOSS 2010
 
Andor Salga
 
Example of timing
 
*/
// pixels/second
 
// 250 will go from 0 to 500 in 2 seconds
 
float velocity = 250.0f;
 
float position = 0.0f;
 
int deltaTimer = 0;
 
boolean wasteCycles = false;
void setup(){
 
size(500, 500);
 
}
void draw(){
 
background(#663399);
 
// displacement = velocity * seconds
 
position += velocity * getDelta()/1000.0f;
// Wrap the object
 
if(position > 500){
 
position = 0;
 
}
 
// Regardless of lag, garbage collection or rendering speed,
 
// position will increase by the correct velocity.
if(wasteCycles){
 
for(int i = 0; i < 10000; i++){
 
for(int j = 0; j < 10000; j++){
 
}
 
}
 
}
 
rect(position, height/2.0f, 40, 40);
 
}
/*
 
Returns the number of milliseconds which
 
have elapsed since last draw
 
*/
float getDelta(){
 
float millisElapsed = millis() - deltaTimer;
 
deltaTimer = millis();
 
return millisElapsed;
 
}
 
</source>
[http://studio.sketchpad.cc/kSYgu9ZvV8 Run me]
1
edit