// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com
// Example 13-10: Two-dimensional array of objects
// 2D Array of objects
Cell[][] grid;
// Number of columns and rows in the grid
int cols = 10;
int rows = 10;
void setup() {
size(200,200);
grid = new Cell[cols][rows];
// The counter variables i and j are also the column and row numbers
// In this example, they are used as arguments to the constructor for each object in the grid.
for (int i = 0; i < cols; i ++ ) {
for (int j = 0; j < rows; j ++ ) {
// Initialize each object
grid[i][j] = new Cell(i*20,j*20,20,20,i + j);
}
}
}
void draw() {
background(0);
for (int i = 0; i < cols; i ++ ) {
for (int j = 0; j < rows; j ++ ) {
// Oscillate and display each object
grid[i][j].oscillate();
grid[i][j].display();
}
}
}
// A Cell object
class Cell {
// A cell object knows about its location in the grid as well as its size with the variables x, y, w, h.
float x,y; // x,y location
float w,h; // width and height
float angle; // angle for oscillating brightness
// Cell Constructor
Cell(float tempX, float tempY, float tempW, float tempH, float tempAngle) {
x = tempX;
y = tempY;
w = tempW;
h = tempH;
angle = tempAngle;
}
// Oscillation means increase angle
void oscillate() {
angle += 0.02;
}
void display() {
stroke(255);
// Color calculated using sine wave
fill(127 + 127*sin(angle));
rect(x,y,w,h);
}
}
wow amazing… hey can i used this in the JCreator??
Comment by Lexine — January 29, 2010 @ 6:37 pm
I don’t see why not. You can use the Processing core libraries in any Java development environment. For a clue on how to get started check out the Processing in eclipse tutorial:
http://www.processing.org/learning/eclipse/
Comment by Daniel Shiffman — January 30, 2010 @ 6:46 pm