NCF参数化建筑论坛

标题: 帮忙修改Processing代码.. [打印本页]

作者: jasonkwh    时间: 2011-3-20 22:32
标题: 帮忙修改Processing代码..
之前发过一次贴 没有解决问题 下面是我的代码 我已经做出来鼠标按下去的效果,也就是从mouseX,mouseY坐标起出现两个圆形 一个绿色一个红色 分别移到窗口右面和下面 还加了个else if(要是鼠标移动了不影响之前两个圆形的动作 但是我要是从另一个(mouseX,mouseY)按多一次鼠标却不能出现第一次出现的效果(圆形会以之前的坐标为标准移动)我需要是移动鼠标到新的坐标点击 圆形以新的坐标分别移动到右面和下面 请问这个代码怎么修改? 以下附上我的代码: float x,y,x1,y1; boolean mouse = false; void setup() { size(600,600); smooth(); strokeWeight(5); x = mouseX; y = mouseY; } void draw() { background(0,0,255); stroke(0); fill(255); triangle(0,0,width/2,height,width,0); stroke(255); fill(0); triangle(width/2,0,0,height,width,height); ellipseMode(CENTER); if(mouse==true) { noStroke(); fill(0,255,0); ellipse(x1,y,50,50); fill(255,0,0); ellipse(x,y1,50,50); x1++; y1++; } else if(mouseX != pmouseX || mouseY != pmouseY) { x = pmouseX; y = pmouseY; } } void mousePressed(){ x1 = mouseX; y1 = mouseY; mouse = true; }
作者: jasonkwh    时间: 2011-3-20 23:14
求帮忙 明天晚上就要交assignment了 本人完全自学 之前没任何编程基础 讲师没教 同学也不会 只好自己折腾几天搞出来的成果 就差一点了。。
作者: iceman    时间: 2011-3-21 09:51
是这样吗 你的解释 不是很懂 float x,y,x1,y1,x2,y2; boolean mouse = false; void setup() { size(600,600); smooth(); strokeWeight(5); x = mouseX; y = mouseY; } void draw() { background(0,0,255); stroke(0); fill(255); triangle(0,0,width/2,height,width,0); stroke(255); fill(0); triangle(width/2,0,0,height,width,height); ellipseMode(CENTER); if(mouse==true) { noStroke(); fill(0,255,0); ellipse(x1,y2,50,50); fill(255,0,0); ellipse(x2,y1,50,50); x1++; y1++; } else if(mouseX != pmouseX || mouseY != pmouseY) { x = pmouseX; y = pmouseY; } } void mousePressed(){ x1 = x2 = mouseX; y1 = y2 = mouseY; mouse = true; }
作者: divedragon    时间: 2011-3-21 23:11
膜拜楼主 我一直想学都一直逃避 像lz学习
作者: panhao1    时间: 2011-3-22 17:00
不懂你要做啥~
作者: weiwei    时间: 2011-3-23 23:34
恩 不太懂,可能有圖文說明會更快瞭解你要什麼。
作者: holonking    时间: 2011-3-28 22:37
潘大哥的回帖总是让小弟胆战心惊,虚心向学{:3_50:}
作者: apollocnty    时间: 2011-7-1 12:19
processing 代码区的字体太小了,想问一下怎么修改
作者: x5115x    时间: 2011-7-3 08:20
  1. float x,y,x1,y1;
  2. boolean mouse = false;
  3. void setup() {
  4. size(600,600);
  5. smooth();
  6. strokeWeight(5);
  7. x = 0;
  8. y = 0;
  9. }
  10. void draw() {
  11. background(0,0,255);
  12. stroke(0);
  13. fill(255);
  14. triangle(0,0,width/2,height,width,0);
  15. stroke(255);
  16. fill(0);
  17. triangle(width/2,0,0,height,width,height);
  18. ellipseMode(CENTER);
  19. if(mouseX != pmouseX || mouseY != pmouseY)
  20. {
  21. x = pmouseX;
  22. y = pmouseY;
  23. }
  24. else if(mouse==true)
  25. {
  26. noStroke();
  27. fill(0,255,0);
  28. ellipse(x1,y,50,50);
  29. fill(255,0,0);
  30. ellipse(x,y1,50,50);
  31. x1++;
  32. y1++;
  33. }
  34. }
  35. void mousePressed(){
  36. x1 = mouseX;
  37. y1 = mouseY;
  38. mouse = true;
  39. }
复制代码
楼主是想这样?
作者: wptjwns    时间: 2011-12-12 16:26
有偿求助~希望可以联系我一下 QQ99343017 有偿求助 没时间了··
作者: 木叶苍蓝猛兽    时间: 2012-2-3 20:52
iceman做的那个好像是对的吧
作者: 赫赫    时间: 2012-2-12 12:06
{:3_50:}{:3_56:}
作者: 土豆的生活    时间: 2012-4-16 18:58
10L的貌似有点看懂了
作者: 土豆的生活    时间: 2012-4-16 19:13
本帖最后由 土豆的生活 于 2012-4-16 19:15 编辑 float x,y,x1,y1; boolean mouse = false; void setup() { size(600,600); smooth(); strokeWeight(5); x = mouseX; y = mouseY; } void draw() { background(0,0,255); stroke(0); fill(255); triangle(0,0,width/2,height,width,0); stroke(255); fill(0); triangle(width/2,0,0,height,width,height); ellipseMode(CENTER); if(mouse==true) { noStroke(); fill(0,255,0); ellipse(x1,y,50,50); fill(255,0,0); ellipse(x,y1,50,50); x1++; y1++; } else if(mouseX != pmouseX || mouseY != pmouseY) { x = pmouseX; y = pmouseY; } } void mousePressed(){ x1 = mouseX; y1 = mouseY; x = mouseX; y = mouseY; mouse = true; } 看楼主的意思,不知是否是这样的?




欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2