void setup(){
size(400,400); background(255); } void draw(){ if(mousePressed) line(mouseX,mouseY,pmouseX,pmouseY); } void mouseReleased(){ background(255); }
劃線後放開左鍵會不見
void setup(){ size(400,400); background(255); } float ghostX=400,ghostY=20;//鬼的座標 void draw(){ ellipse(200,200,15,15);//主角在哪 if(mousePressed) line(mouseX,mouseY,pmouseX,pmouseY); ellipse(ghostX,ghostY,15,15); float dx = 200-ghostX, dy = 200-ghostY, len = sqrt(dx*dx+dy*dy); ghostX += dx/len/3; ghostY += dy/len/3; } void mouseReleased(){ background(255); }ArrayList<PVector> pt = new ArrayList<PVector>(); void setup(){ size(400,400); background(255); } float ghostX=400,ghostY=20; void mouseDragged(){ pt.add(new PVector(mouseX , mouseY)); } void draw(){ background(255); ellipse(200,200,15,15); for(int i=0;i<pt.size();i++){ PVector p = pt.get(i); ellipse(p.x,p.y,3,3); } ellipse(ghostX,ghostY,15,15); float dx = 200-ghostX, dy = 200-ghostY, len = sqrt(dx*dx+dy*dy); ghostX += dx/len/3; ghostY += dy/len/3; } void mouseReleased(){ background(255); }void mouseReleased(){ for(int i=pt.size()-1;i>=0;i--){ pt.remove(i); } } 放開滑鼠點點會不見把點點變成線void draw(){ background(255); ellipse(200,200,15,15); ellipse(ghostX,ghostY,15,15); strokeWeight(4); float dpx=0,dpy=0;//要看p.x p2.x的差距 p.y p2.y的差距 for(int i=0;i<pt.size()-1;i++){ PVector p = pt.get(i),p2 = pt.get(i+1); dpx += abs(p2.x - p.x);//累計x的移動量 dpy += abs(p2.y - p.y);//累計y的移動量 } if(dpx>100 && dpy<40) stroke(255,0,0);//紅色的橫線 else stroke(0);//不是就黑色線 for(int i=0;i<pt.size()-1;i++){ PVector p = pt.get(i),p2 = pt.get(i+1); line(p.x,p.y,p2.x,p2.y); } float dx = 200-ghostX, dy = 200-ghostY, len = sqrt(dx*dx+dy*dy); ghostX += dx/len/3; ghostY += dy/len/3; }int rightdown = 0;//往右下if(p2.x - p.x > 0 && p2.y - p.y > 0) rightdown++;else if(rightdown>30) stroke(0,255,0);//綠色ㄉ橫線
沒有留言:
張貼留言