Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface Pennello
- {
- public abstract void disegna();
- public abstract void aggiornaSize(float w,float h);
- public abstract void ruota();
- public abstract void seguiMouse();
- public abstract void attiva();
- public abstract void disattiva();
- public abstract void aggiornaIncremento(float nuovo);
- }
- public class QuadratoRotante implements Pennello
- {
- public boolean attivo = false;
- public float xc,yc,w,h,incremento;
- public float angle;
- public QuadratoRotante(float xc,float yc,float w,float h,float incremento)
- {
- this.xc = xc; this.yc = yc; this.w = w; this.h = h; this.incremento = incremento;
- }
- public void aggiornaIncremento(float nuovo)
- {
- incremento = nuovo;
- }
- public void aggiornaSize(float w,float h)
- {
- this.w = w; this.h = h;
- }
- public void disegna()
- {
- if(!attivo)
- return;
- noFill();
- stroke(255);
- pushMatrix();
- translate(xc,yc);
- rotate(angle);
- rectMode(CENTER);
- rect(0,0,w,h);
- popMatrix();
- }
- public void ruota()
- {
- angle = angle + incremento;
- }
- public void seguiMouse()
- {
- this.xc = mouseX;
- this.yc = mouseY;
- }
- public void attiva() { attivo = true; }
- public void disattiva() {attivo = false; }
- }
- ArrayList<Pennello> pennelli = new ArrayList<Pennello>();
- /* queste funzioni sono chiamate da javascript nella pagina per modificare stato dei pennelli ------------------------------------------*/
- public void attivaPennello(int i)
- {
- pennelli.get(i).attiva();
- }
- public void disattivaPennello(int i)
- {
- pennelli.get(i).disattiva();
- }
- public void aggiornaSizePennello(int i,int w,int h)
- {
- pennelli.get(i).aggiornaSize(w,h);
- }
- public void aggiornaIncrementoPennello(int i,float nuovo)
- {
- pennelli.get(i).aggiornaIncremento(nuovo);
- }
- /*-------------------------------------------------------------------------------------------*/
- void setup()
- {
- size(1000,400);
- background(0);
- pennelli.add(new QuadratoRotante(200,200,100,50,0.1));
- //pennelli.get(0).attiva();
- pennelli.add(new QuadratoRotante(200,200,10,230,0.4));
- //pennelli.get(1).attiva();
- }
- void draw()
- {
- for (Pennello pen : pennelli )
- {
- pen.seguiMouse();
- pen.ruota();
- if(mousePressed)
- pen.disegna();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement