#javascript-processing-example-basic-objects-objects.htm / htm
<!DOCTYPE html> <html><head> <script src="javascript-processing-example-processing.js"></script> <script src="javascript-processing-example-init.js"></script> <link rel="stylesheet" href="javascript-processing-example-style.css"> </head><body><h1><a href="http://ejohn.org/blog/processingjs/">Processing.js</a></h1> <h2>Objects</h2> <p>by hbarragan Move the cursor across the image to change the speed and positions of the geometry. The class MRect defines a group of lines.</p> <p><a href="http://processing.org/learning/basics/objects.html"><b>Original Processing.org Example:</b> Objects</a><br> <script type="application/processing"> MRect r1, r2, r3, r4; void setup() { size(200, 200); fill(255, 204); noStroke(); r1 = new MRect(1, 134.0, 0.532, 0.083*height, 10.0, 60.0); r2 = new MRect(2, 44.0, 0.166, 0.332*height, 5.0, 50.0); r3 = new MRect(2, 58.0, 0.332, 0.4482*height, 10.0, 35.0); r4 = new MRect(1, 120.0, 0.0498, 0.913*height, 15.0, 60.0); } void draw() { background(0); r1.display(); r2.display(); r3.display(); r4.display(); r1.move(mouseX-(width/2), mouseY+(height*0.1), 30); r2.move((mouseX+(width*0.05))\ %width, mouseY+(height*0.025), 20); r3.move(mouseX/4, mouseY-(height*0.025), 40); r4.move(mouseX-(width/2), (height-mouseY), 50); } class MRect { int w; // single bar width float xpos; // rect xposition float h; // rect height float ypos ; // rect yposition float d; // single bar distance float t; // number of bars MRect(int iw, float ixp, float ih, float iyp, float id, float it) { w = iw; xpos = ixp; h = ih; ypos = iyp; d = id; t = it; } void move (float posX, float posY, float damping) { float dif = ypos - posY; if (abs(dif) > 1) { ypos -= dif/damping; } dif = xpos - posX; if (abs(dif) > 1) { xpos -= dif/damping; } } void display() { for (int i=0; i<t; i++) { rect(xpos+(i*(d+w)), ypos, w, height*h); } } } </script><canvas width="200" height="200"></canvas></p> <div style="overflow: hidden; height: 0px; width: 0px;"></div> <pre><b>// All Examples Written by <a href="http://reas.com/">Casey Reas</a> and <a href="http://benfry.com/">Ben Fry</a> // unless otherwise stated.</b> MRect r1, r2, r3, r4; void setup() { size(200, 200); fill(255, 204); noStroke(); r1 = new MRect(1, 134.0, 0.532, 0.083*height, 10.0, 60.0); r2 = new MRect(2, 44.0, 0.166, 0.332*height, 5.0, 50.0); r3 = new MRect(2, 58.0, 0.332, 0.4482*height, 10.0, 35.0); r4 = new MRect(1, 120.0, 0.0498, 0.913*height, 15.0, 60.0); } void draw() { background(0); r1.display(); r2.display(); r3.display(); r4.display(); r1.move(mouseX-(width/2), mouseY+(height*0.1), 30); r2.move((mouseX+(width*0.05))\ %width, mouseY+(height*0.025), 20); r3.move(mouseX/4, mouseY-(height*0.025), 40); r4.move(mouseX-(width/2), (height-mouseY), 50); } class MRect { int w; // single bar width float xpos; // rect xposition float h; // rect height float ypos ; // rect yposition float d; // single bar distance float t; // number of bars MRect(int iw, float ixp, float ih, float iyp, float id, float it) { w = iw; xpos = ixp; h = ih; ypos = iyp; d = id; t = it; } void move (float posX, float posY, float damping) { float dif = ypos - posY; if (abs(dif) > 1) { ypos -= dif/damping; } dif = xpos - posX; if (abs(dif) > 1) { xpos -= dif/damping; } } void display() { for (int i=0; i<t; i++) { rect(xpos+(i*(d+w)), ypos, w, height*h); } } }</pre> </body></html>
(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.