Basics > Arrays
Array of Objects


To view this content, you need to install Java from java.com


Un array di oggetti.

Codice
  1. final int DIM = 80;
  2. final int GAP = 16;
  3. int num;
  4. Modulo[] moduli;
  5.  
  6. void setup()
  7. {
  8.   size(500, 500);
  9.   background(127);
  10.  
  11.   int numX = (width-GAP)/(DIM+GAP);
  12.   int numY = (height-GAP)/(DIM+GAP);
  13.   num      = numX*numY;
  14.   moduli   = new Modulo[num];
  15.  
  16.   int x=0;
  17.   for(int i=0; i < numX; i++)
  18.   for(int j=0; j < numY; j++)
  19.   {
  20.       moduli[x] = new Modulo(j*DIM+(j+1)*GAP, i*DIM+(i+1)*GAP,
  21.                              random(1, 5), random(100, 255));  
  22.       x++;
  23.   }
  24. }
  25.  
  26. void draw()
  27. {
  28.   for(int i=0; i < num; i++)
  29.   {
  30.      moduli[i].aggiorna();
  31.      moduli[i].disegna();
  32.   }
  33. }
  34.  
  35. class Modulo
  36. {
  37.   float mx, my;
  38.   float speed;
  39.   float col;
  40.  
  41.   int   xdir, ydir;
  42.   float x, y;
  43.  
  44.   Modulo(float in_mx, float in_my, float in_speed, float in_col)
  45.   {
  46.     mx = in_my;
  47.     my = in_mx;
  48.     speed = in_speed;
  49.     col=(int)in_col;
  50.    
  51.     x = y= 0;
  52.     xdir = ydir = 1;
  53.   }
  54.  
  55.   void aggiorna()
  56.   {
  57.     x += speed*xdir;
  58.     if(x < 0 || x > DIM)
  59.     {
  60.       xdir *= -1;
  61.       x += xdir;
  62.       y += ydir;
  63.     }
  64.     if(y < 0 || y > DIM)
  65.     {
  66.       ydir *= -1;
  67.       y += ydir;
  68.     }
  69.    
  70.     col+=random(0, 1);
  71.     if(col>=255)
  72.        col=0;
  73.   }
  74.  
  75.   void disegna()
  76.   {    
  77.     stroke(int(col));
  78.     point(mx+x, my+y);
  79.   }
  80. }
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki