10. November 2010
Lektion 7 so ändern das man mit mausklicks den sart und Endpunkt der Strecke bestimmt und die Kugel dann diesen Weg hin und zurück fährt. PVector startPos = new PVector(); PVector endPos = new PVector(); int curTime = 0; int animSpeed = 9; int animTime = 2000; boolean drawFlag=false; boolean clickClick=false; void setup() { size(640, 480); smooth(); } void draw() { background(51); // calc. the anim time curTime += animSpeed; if(curTime >= animTime|| curTime <0){ animSpeed = animSpeed *-1; } // calc. the current time in the animation float normTime = curTime * 1.0 / animTime; if(drawFlag) { stroke(255); line(startPos.x,startPos.y, endPos.x,endPos.y); // calculate the position of the circle on the line PVector dir = PVector.sub(endPos,startPos); PVector pos = PVector.add( startPos , PVector.mult(dir,normTime)); ellipse(pos.x,pos.y, 20,20); } } void mousePressed() { if(clickClick == false){ drawFlag = true; curTime = 0; startPos.set(mouseX,mouseY,0); endPos = startPos.get(); clickClick=true; }else{ endPos.set(mouseX,mouseY,0); clickClick=false; } } void mouseDragged() { endPos.set(mouseX,mouseY,0); } void mouseReleased() { drawFlag = true; println("released"); }