Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1.  
  2. interface Pennello
  3. {
  4. public abstract void disegna();
  5. public abstract void aggiornaSize(float w,float h);
  6. public abstract void ruota();
  7. public abstract void seguiMouse();
  8. public abstract void attiva();
  9. public abstract void disattiva();
  10. public abstract void aggiornaIncremento(float nuovo);
  11. }
  12.  
  13. public class QuadratoRotante implements Pennello
  14. {
  15. public boolean attivo = false;
  16. public float xc,yc,w,h,incremento;
  17. public float angle;
  18.  
  19. public QuadratoRotante(float xc,float yc,float w,float h,float incremento)
  20. {
  21. this.xc = xc; this.yc = yc; this.w = w; this.h = h; this.incremento = incremento;
  22. }
  23.  
  24. public void aggiornaIncremento(float nuovo)
  25. {
  26. incremento = nuovo;
  27. }
  28.  
  29. public void aggiornaSize(float w,float h)
  30. {
  31. this.w = w; this.h = h;
  32. }
  33.  
  34. public void disegna()
  35. {
  36. if(!attivo)
  37. return;
  38. noFill();
  39. stroke(255);
  40. pushMatrix();
  41. translate(xc,yc);
  42. rotate(angle);
  43. rectMode(CENTER);
  44. rect(0,0,w,h);
  45. popMatrix();
  46.  
  47. }
  48.  
  49. public void ruota()
  50. {
  51. angle = angle + incremento;
  52.  
  53. }
  54.  
  55. public void seguiMouse()
  56. {
  57.  
  58. this.xc = mouseX;
  59. this.yc = mouseY;
  60. }
  61.  
  62.  
  63. public void attiva() { attivo = true; }
  64. public void disattiva() {attivo = false; }
  65. }
  66.  
  67.  
  68. ArrayList<Pennello> pennelli = new ArrayList<Pennello>();
  69.  
  70.  
  71.  
  72.  
  73. /* queste funzioni sono chiamate da javascript nella pagina per modificare stato dei pennelli ------------------------------------------*/
  74. public void attivaPennello(int i)
  75. {
  76. pennelli.get(i).attiva();
  77. }
  78.  
  79. public void disattivaPennello(int i)
  80. {
  81. pennelli.get(i).disattiva();
  82. }
  83.  
  84. public void aggiornaSizePennello(int i,int w,int h)
  85. {
  86. pennelli.get(i).aggiornaSize(w,h);
  87.  
  88. }
  89.  
  90.  
  91. public void aggiornaIncrementoPennello(int i,float nuovo)
  92. {
  93. pennelli.get(i).aggiornaIncremento(nuovo);
  94. }
  95.  
  96.  
  97.  
  98. /*-------------------------------------------------------------------------------------------*/
  99.  
  100.  
  101. void setup()
  102. {
  103. size(1000,400);
  104. background(0);
  105. pennelli.add(new QuadratoRotante(200,200,100,50,0.1));
  106. //pennelli.get(0).attiva();
  107.  
  108. pennelli.add(new QuadratoRotante(200,200,10,230,0.4));
  109. //pennelli.get(1).attiva();
  110.  
  111.  
  112. }
  113.  
  114.  
  115. void draw()
  116. {
  117. for (Pennello pen : pennelli )
  118. {
  119. pen.seguiMouse();
  120. pen.ruota();
  121. if(mousePressed)
  122. pen.disegna();
  123.  
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement