Advertisement
Guest User

yes

a guest
Dec 11th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. let diam = 25;
  2. let bolas = [];
  3. let linhas = [];
  4. let espacamento = diam * 2.5,
  5. firstpointx, firstpointy, targetx, targety, dx, dy, xline, yline, drawing = false,
  6. desenhar = false;
  7. let cor = [];
  8.  
  9. function setup() {
  10. createCanvas(500, 500);
  11. background(255);
  12. pixelDensity(displayDensity());
  13. for (let ya = 0; ya < width / espacamento + 1; ya++) {
  14. cor[ya] = [];
  15. bolas[ya] = [];
  16. for (let yo = 0; yo < height / espacamento + 1; yo++) {
  17. cor[ya][yo] = 0;
  18. bolas[ya][yo] = new Bola(ya * espacamento, yo * espacamento, diam, cor[ya][yo]);
  19. }
  20. }
  21. }
  22.  
  23. function draw() {
  24. background(255);
  25. for (let ya = 0; ya < width / espacamento + 1; ya++) {
  26. bolas[ya] = [];
  27. for (let yo = 0; yo < height / espacamento + 1; yo++) {
  28. bolas[ya][yo].desenha();
  29. }
  30. }
  31. for (let i = 0; i < linhas.size(); i++) {
  32. linhas.get(i).desenha();
  33. }
  34. if (desenhar) {
  35. dx = targetx - xline;
  36. dy = targety - yline;
  37. xline += dx * 0.2;
  38. yline += dy * 0.2;
  39. linhas.add(new Linha(firstpointx, firstpointy, xline, yline, diam + 1));
  40. if (abs(dx) < 0.5 && abs(dy) < 5) {
  41. for (let ya = 0; ya < width / espacamento + 1; ya++) {
  42. bolas[ya] = [];
  43. for (let yo = 0; yo < height / espacamento + 1; yo++) {
  44. bolas[ya][yo].d = diam;
  45. }
  46. }
  47. desenhar = false;
  48. }
  49. }
  50. }
  51.  
  52. function mousePressed() {
  53. for (let ya = 0; ya < width / espacamento + 1; ya++) {
  54. bolas[ya] = [];
  55. for (let yo = 0; yo < height / espacamento + 1; yo++) {
  56. if (mouseX > bolas[ya][yo].x - diam / 2 && mouseX < bolas[ya][yo].x + diam / 2 && mouseY > bolas[ya][yo].y - diam / 2 && mouseY < bolas[ya][yo].y + diam / 2) {
  57. if (!drawing && !desenhar) {
  58. firstpointx = bolas[ya][yo].x;
  59. firstpointy = bolas[ya][yo].y;
  60. xline = firstpointx;
  61. yline = firstpointy;
  62. bolas[ya][yo].d = diam + 5;
  63. drawing = true;
  64. } else if (!desenhar) {
  65. targetx = bolas[ya][yo].x;
  66. targety = bolas[ya][yo].y;
  67. bolas[ya][yo].d = diam + 5;
  68. desenhar = true;
  69. drawing = false;
  70. }
  71. }
  72. }
  73. }
  74. }
  75. class Bola {
  76. Bola(xx, yy, diam, cor) {
  77. this.x = xx;
  78. this.y = yy;
  79. this.d = diam;
  80. this.c = cor;
  81. }
  82. desenha() {
  83. fill(this.c);
  84. noStroke();
  85. circle(x, y, d);
  86. }
  87. }
  88. class Linha {
  89. Linha(xx1, yy1, xx2, yy2, weight) {
  90. this.x1 = xx1;
  91. this.x2 = xx2;
  92. this.y1 = yy1;
  93. this.y2 = yy2;
  94. this.w = weight;
  95. }
  96. desenha() {
  97. stroke(0);
  98. strokeWeight(w);
  99. line(x1, y1, x2, y2);
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement