# How to make Grid out of Boxes (3D)

**URL:** https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070
**Category:** Coding Questions
**Created:** [February 25, 2021, 1:30am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070 "2021-02-25T01:30:17Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 25, 2021, 1:30am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/1 "2021-02-25T01:30:17Z")

</div>

@ [Chrisir](https://discourse.processing.org/u/Chrisir)

hi

how are you

> **[Processing 2.x and 3.x Forum](https://forum.processing.org/two/discussion/4593/how-to-make-a-3d-grid-out-of-boxes-please)**
>
> Processing is an electronic sketchbook, a language and a worldwide community. This is its forum.

```auto
int unit = 90; 
int count; 
Module[] mods;
 
void setup() { 
  size(600, 660, OPENGL); 
  noStroke(); 
  int wideCount = width / unit; 
  int highCount = height / unit; 
  int depthCount = highCount;
  count = wideCount * highCount * depthCount; 
  mods = new Module[count];
 
  int index = 0; 
  for (int z = 0; z < depthCount; z++) {
    for (int y = 0; y < highCount; y++) { 
      for (int x = 0; x < wideCount; x++) { 
        if (z==0||y==0||x==0||
          z==depthCount-1||y==highCount-1||x==wideCount-1)
          mods[index++] = new Module(x*unit+200, y*unit+600, z*unit-800, true);
        else
          mods[index++] = new Module(x*unit+200, y*unit+600, z*unit-800, false);
      }
    }
  }
}
 
void draw() { 
  background(0); 
  //ortho();
  rotateY (.4);
  for (int i = 0; i < count; i++) { 
    mods[i].draw();
  }
}
 
class Module { 
  int xOffset; 
  int yOffset; 
  int zOffset; 
  float x, y;
  color col = color(random(255), random(255), random(255));
  boolean exist = false; 
 
  // Contructor 
  Module(int xOffsetTemp, int yOffsetTemp, int zOffset, boolean existTemp) { 
    xOffset = xOffsetTemp; 
    yOffset = yOffsetTemp;
    this.zOffset = zOffset;
    exist = existTemp;
  }
 
  // Custom method for drawing the object 
  void draw() { 
    if (exist) {
      noFill(); 
      stroke(255); 
      strokeWeight(0.3); 
      pushMatrix();
      fill(col);
      translate(xOffset, yOffset, zOffset);
      box(unit);
      popMatrix();
    }
  }
}

```

**this is your sketch if you kind i want to make grid of boxes instead of rects and what i need is control boxes numbers in each raw and column and the sizes of the box like this sketch which is yours also**

```auto
// GRID array of a class

int grid=5, // how many cells per row and column
  many=grid*grid; // how many in total 

Button [] myButtons = new Button [many];

void setup() {
  size (600, 600);

  int x=40, y=x, // dist from screen border 
    w=100, h=w, // width and height of one cell 
    off=5; // dist between cells 

  int k=0; 
  for (int i = 0; i < grid; i++) {
    for (int i2 = 0; i2 < grid; i2++) {
      myButtons [k] = new Button ( x+ i *( w+off), y+ i2 *(h+off), 
        w, h, 
        int(random(255)), 
        25 ); // 25 = size
      k++;
    }
  }
}

void draw() {
  background (255);
  for (int i = 0; i < many; i++) 
    myButtons[i].display();
}

```

i just want grid with boxes with out mouse or color stuff

**boxes with raw and column not cubic grid**

if you kind help if you can thanks in advance

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 25, 2021, 8:55am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/2 "2021-02-25T08:55:43Z")

</div>

I don’t know if I understood you correctly but here is my Sketch

Otherwise please ask

```auto
Cube[] cubes;

void setup() { 
  size(1600, 860, P3D);

  int unit = 90; 
  int count; 

  int rows = 10; 
  int columns = 8;

  count = rows * columns; // wideCount * highCount * depthCount; 
  cubes = new Cube[count];

  // setting up the grid 
  int index = 0; 
  for (int z = 0; z < rows; z++) {
    //for (int y = 0; y < highCount; y++) { 
    for (int x = 0; x < columns; x++) { 
      cubes[index++] = new Cube(x*unit+200, height/2+280, z*unit-800, true);
    }
    // }
  }
}

void draw() { 
  background(0); 
  // lights();

  for (int i = 0; i < cubes.length; i++) { 
    cubes[i].display();
  }
}

// ==============================================================================================================

class Cube { 
  int posX; 
  int posY; 
  int posZ; 

  color col = color(255, 0, 0); // color(random(255), random(255), random(255));
  boolean exist = false; 

  float sizeCube = 90;

  // Contructor 
  Cube(int xOffsetTemp, int yOffsetTemp, int zOffsetTemp, boolean existTemp) { 
    posX = xOffsetTemp; 
    posY = yOffsetTemp;
    posZ = zOffsetTemp;
    exist = existTemp;
  }// Contructor 

  // Custom method for drawing the object 
  void display() { 
    if (exist) {
      stroke(0); 
      fill(col);
      pushMatrix();
      translate(posX, posY, posZ);
      box(sizeCube);
      popMatrix();
    }//if
  }//method
  //
} //class
//

```

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 25, 2021, 4:35pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/3 "2021-02-25T16:35:41Z")

</div>

[Chrisir](https://discourse.processing.org/u/Chrisir)

hi and thank you

almost yes this what i want but i need extra modifications first how to Increase and decrease the Z axes ?? the Z of the boxes i mean

and the other thing i want to rotate it " the grid "

i still have some questions but after those steps  
thanks for you

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 25, 2021, 5:22pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/4 "2021-02-25T17:22:21Z")

</div>

> [@jafal](#):
>
> Increase and decrease the Z axes

X is left / right  
Y how high (to the top of the screen)  
Z is depth, how near or far away INTO the screen

rotating is either around x-axis, y-axis or z-axis

we need to place the cubes around 0,0 to make rotation really work.

```auto
Cube[] cubes;

float angle1; 

void setup() { 
  size(1600, 860, P3D);

  int unit = 90; 
  int count; 

  int rows = 10; 
  int columns = 8;

  count = rows * columns; // wideCount * highCount * depthCount; 
  cubes = new Cube[count];

  // setting up the grid 
  int index = 0; 
  for (int z = 0; z < rows; z++) {
    //for (int y = 0; y < highCount; y++) { 
    for (int x = 0; x < columns; x++) { 
      cubes[index++] = new Cube(
        x*unit-(4*unit), // X
        0, // Y 
        z*unit-800, // Z  
        true); // visible
    }
    // }
  }
}

void draw() { 
  background(0); 
  // lights();

  translate (width/2, height/2+190, 0); 
  rotateZ(angle1); 
  angle1+=0.004; 
  for (int i = 0; i < cubes.length; i++) { 
    cubes[i].display();
  }
}

// ==============================================================================================================

class Cube { 
  int posX; 
  int posY; 
  int posZ; 

  color col = color(255, 0, 0); // color(random(255), random(255), random(255));
  boolean exist = false; 

  float sizeCube = 90;

  // Contructor 
  Cube(int xOffsetTemp, int yOffsetTemp, int zOffsetTemp, boolean existTemp) { 
    posX = xOffsetTemp; 
    posY = yOffsetTemp;
    posZ = zOffsetTemp;
    exist = existTemp;
  }// Contructor 

  // Custom method for drawing the object 
  void display() { 
    if (exist) {
      stroke(0); 
      fill(col);
      pushMatrix();
      translate(posX, posY, posZ);
      box(sizeCube);
      popMatrix();
    }//if
  }//method
  //
} //class
//

```

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 25, 2021, 5:38pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/5 "2021-02-25T17:38:32Z")

</div>

hi  
i add mouse rotation but not rotate x y z in center

```auto
Cube[] cubes;

void setup() { 
  size(800, 860, P3D);

  int unit = 140; 
  int count; 

  int rows = 3; 
  int columns = 6;

  count = rows * columns; // wideCount * highCount * depthCount; 
  cubes = new Cube[count];

  // setting up the grid 
  int index = 0; 
  for (int z = 0; z < rows; z++) {
    //for (int y = 0; y < highCount; y++) { 
    for (int x = 0; x < columns; x++) { 
      cubes[index++] = new Cube(x*unit+200, height/2+280, z*unit-800, true);
    }
    // }
  }
}

void draw() { 
  background(0,88,122); 
  // lights();
translate(width/2, height/2);
 
rotateY(map(mouseX, 0, width, -PI, PI));
rotateX(-map(mouseY, 0, height, -PI, PI));
 
 
  
  for (int i = 0; i < cubes.length; i++) { 
    cubes[i].display();
  }
}

// ==============================================================================================================

class Cube { 
  int posX; 
  int posY; 
  int posZ; 

 // color col = color(255, 0, 0); // color(random(255), random(255), random(255));
  boolean exist = false; 

  float sizeCube = 140;

  // Contructor 
  Cube(int xOffsetTemp, int yOffsetTemp, int zOffsetTemp, boolean existTemp) { 
    posX = xOffsetTemp; 
    posY = yOffsetTemp;
    posZ = zOffsetTemp;
    exist = existTemp;
  }// Contructor 

  // Custom method for drawing the object 
  void display() { 
    if (exist) {
     // stroke(0); 
   noFill();
      pushMatrix();
      translate(posX, posY, posZ);
      box(sizeCube);
      popMatrix();
    }//if
  }//method
  //
} //class
//

```

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 25, 2021, 5:50pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/6 "2021-02-25T17:50:22Z")

</div>

> [@Chrisir](#):
>
> X is left / right  
> Y how high (to the top of the screen)  
> Z is depth, how near or far away INTO the screen

what i mean is to increase the z of box

box(size) box(w, h, d)

Increase and decrease d

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 25, 2021, 6:17pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/7 "2021-02-25T18:17:33Z")

</div>

heightCube is your d

```auto

Cube[] cubes;

float angle1; 

void setup() { 
  size(1600, 860, P3D);

  int unit = 90; 
  int count; 

  int rows = 10; 
  int columns = 8;

  count = rows * columns; // wideCount * highCount * depthCount; 
  cubes = new Cube[count];

  // setting up the grid 
  int index = 0; 
  for (int z = 0; z < rows; z++) {
    //for (int y = 0; y < highCount; y++) { 
    for (int x = 0; x < columns; x++) { 
      cubes[index++] = new Cube(
        x*unit-(4*unit), // X
        0, // Y 
        z*unit-800, // Z  
        true); // visible
    }
    // }
  }
}

void draw() { 
  background(0); 
  // lights();

  translate (width/2, height/2+190, 0);
  rotateX(-0.4); 
  rotateZ(angle1); 
  angle1+=0.004; 
  for (int i = 0; i < cubes.length; i++) { 
    cubes[i].display();
  }
}

// ==============================================================================================================

class Cube { 
  int posX; 
  int posY; 
  int posZ; 

  color col = color(255, 0, 0); // color(random(255), random(255), random(255));
  boolean exist = false; 

  float sizeCube = 90;

  float heightCube = 10 + int(random(1) * 300); 

  // Contructor 
  Cube(int xOffsetTemp, int yOffsetTemp, int zOffsetTemp, boolean existTemp) { 
    posX = xOffsetTemp; 
    posY = yOffsetTemp;
    posZ = zOffsetTemp;
    exist = existTemp;
  }// Contructor 

  // Custom method for drawing the object 
  void display() { 
    if (exist) {
      stroke(0); 
      fill(col);
      pushMatrix();
      translate(posX, posY + heightCube/2, posZ);
      box(sizeCube, sizeCube + heightCube, sizeCube);
      popMatrix();
    }//if
  }//method
  //
} //class
//

```

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 25, 2021, 6:22pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/8 "2021-02-25T18:22:39Z")

</div>

I added mouse control for rotate

(the rotation is better than yours because mine rotates around **the grid’s center** )

This looks better with `lights();` see below [EDITED]

Chrisir

```auto
Cube[] cubes;

float angle1; 

void setup() { 
  size(1600, 860, P3D);

  int unit = 90; 
  int count; 

  int rows = 10; 
  int columns = 8;

  count = rows * columns; // wideCount * highCount * depthCount; 
  cubes = new Cube[count];

  // setting up the grid 
  int index = 0; 
  for (int z = 0; z < rows; z++) {
    //for (int y = 0; y < highCount; y++) { 
    for (int x = 0; x < columns; x++) { 
      cubes[index++] = new Cube(
        x*unit-(4*unit), // X
        0, // Y 
        z*unit-(5*unit), // Z  
        true); // visible
    }
    // }
  }
}

void draw() { 
  background(0); 
  lights();

  translate (width/2, height/2+190, -330);

  //rotateX(-0.4); 
  //rotateZ(angle1); 
  //angle1+=0.004;

  rotateY(map(mouseX, 0, width, -TWO_PI, TWO_PI));
  rotateX(-map(mouseY, 0, height, -TWO_PI, TWO_PI));

  for (int i = 0; i < cubes.length; i++) { 
    cubes[i].display();
  }
}

// ==============================================================================================================

class Cube { 
  int posX; 
  int posY; 
  int posZ; 

  color col = color(255, 0, 0); // color(random(255), random(255), random(255));
  boolean exist = false; 

  float sizeCube = 90;

  float heightCube = 10 + int(random(1) * 300); 

  // Contructor 
  Cube(int xOffsetTemp, int yOffsetTemp, int zOffsetTemp, boolean existTemp) { 
    posX = xOffsetTemp; 
    posY = yOffsetTemp;
    posZ = zOffsetTemp;
    exist = existTemp;
  }// Contructor 

  // Custom method for drawing the object 
  void display() { 
    if (exist) {
      stroke(0); 
      fill(col);
      pushMatrix();
      translate(posX, posY + heightCube/2, posZ);
      box(sizeCube, sizeCube + heightCube, sizeCube);
      popMatrix();
    }//if
  }//method
  //
} //class
//

```

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 25, 2021, 6:51pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/9 "2021-02-25T18:51:18Z")

</div>

> [@Chrisir](#):
>
> I added mouse control for rotate
> 
> (the rotation is better than yours because mine rotates around **the grid’s center** )
> 
> This looks better with `lights();` see below [EDITED]

sure your rotation better you are a teacher ❤

how to add this function to the code

Assuming

We have 16 boxes, four in a row and four in a column, or more or less, and I want to increase or decrease the height of each boxes independently from the other

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 25, 2021, 7:00pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/10 "2021-02-25T19:00:27Z")

</div>

here the value for each box is in a list at the beginning

```auto
  { 1, 2, 3, 4 }, 
  { 8, 7, 6, 5 }, 
  { 8, 2, 8, 2 }, 
  { 1, 2, 3, 4 }

```

**Sketch**

```auto

Cube[] cubes;

float angle1; 

int [][] gridHeight = {
  { 1, 2, 3, 4 }, 
  { 8, 7, 6, 5 }, 
  { 8, 2, 8, 2 }, 
  { 1, 2, 3, 4 }
};  

void setup() { 
  size(1600, 860, P3D);

  int unit = 90; 
  int count; 

  int rows = 4; 
  int columns = 4;

  count = rows * columns; // wideCount * highCount * depthCount; 
  cubes = new Cube[count];

  // setting up the grid 
  int index = 0; 
  for (int z = 0; z < rows; z++) {
    //for (int y = 0; y < highCount; y++) { 
    for (int x = 0; x < columns; x++) { 
      cubes[index++] = new Cube(
        x*unit-(4*unit), // X
        0, // Y 
        z*unit-(5*unit), // Z  
        30*gridHeight[x][z], 
        true); // visible
    }
    // }
  }
}

void draw() { 
  background(0); 
  lights();

  translate (width/2, height/2+190, -330);

  //rotateX(-0.4); 
  //rotateZ(angle1); 
  //angle1+=0.004;

  rotateY(map(mouseX, 0, width, -TWO_PI, TWO_PI));
  rotateX(-map(mouseY, 0, height, -TWO_PI, TWO_PI));

  for (int i = 0; i < cubes.length; i++) { 
    cubes[i].display();
  }
}

// ==============================================================================================================

class Cube { 
  int posX; 
  int posY; 
  int posZ; 

  color col = color(255, 0, 0); // color(random(255), random(255), random(255));
  boolean exist = false; 

  float sizeCube = 90;

  float heightCube = 10 + int(random(1) * 300); 

  // Contructor 
  Cube(int xOffsetTemp, int yOffsetTemp, int zOffsetTemp, 
    float d, 
    boolean existTemp) { 
    posX = xOffsetTemp; 
    posY = yOffsetTemp;
    posZ = zOffsetTemp;

    heightCube = d;  

    exist = existTemp;
  }// Contructor 

  // Custom method for drawing the object 
  void display() { 
    if (exist) {
      stroke(0); 
      fill(col);
      pushMatrix();
      translate(posX, posY + heightCube/2, posZ);
      box(sizeCube, sizeCube + heightCube, sizeCube);
      popMatrix();
    }//if
  }//method
  //
} //class
//

```

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 25, 2021, 7:21pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/11 "2021-02-25T19:21:06Z")

</div>

> [@jafal](#):
>
> I want to increase or decrease the height of each boxes independently from the other

do you mean you want to change the height of the cube by mouse or by keyboard? You have to explain better.

in these lines you can set the height individual for each cube initially

```auto
  { 1, 2, 3, 4 }, 
  { 8, 7, 6, 5 }, 
  { 8, 2, 8, 2 }, 
  { 1, 2, 3, 4 }

```

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 25, 2021, 9:57pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/12 "2021-02-25T21:57:02Z")

</div>

> [@Chrisir](#):
>
> do you mean you want to change the height of the cube by mouse or by keyboard? You have to explain better.

i am making some experiments with your sketch it more than great i need some time to walk to the next step and i need your help

thanks again and again for you ❤ ❤ ❤

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 25, 2021, 10:08pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/13 "2021-02-25T22:08:42Z")

</div>

We can make it so that you can click each box with the mouse and drag the mouse to change the height of the box

Or by keyboard

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 26, 2021, 3:02am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/14 "2021-02-26T03:02:05Z")

</div>

@[Chrisir](https://discourse.processing.org/u/Chrisir)

hi i have spend a lot time thinking how to make best usage of this sketch i rise the cells to 100\*100 reduse the size to 8 and use the same random height it gives wonderful shape

what if you use controlP5 sliders ?

one for numbers of columns and other for raw

other one for height and one other more for color(of the cell itself)

and for size final slider

i think it could draw then variable colored 3d shape on demand

 ![Screenshot_2021-02-26-04-58-07-739](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/e/e1e98302a562834453677b3130fd0d2e60e6afb7.jpeg)

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 26, 2021, 3:26am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/15 "2021-02-26T03:26:39Z")

</div>

@[Chrisir](https://discourse.processing.org/u/Chrisir)

hi i have figured-out a solution for touch issue of controlP5 on android i can share it for all

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [February 26, 2021, 8:31am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/16 "2021-02-26T08:31:29Z")

</div>

Great progress here!

Please share.

For a GUI with sliders see [libraries | p5.js](https://p5js.org/libraries/)

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 26, 2021, 10:32am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/17 "2021-02-26T10:32:09Z")

</div>

[Chrisir](https://discourse.processing.org/u/Chrisir)

hi i have figured-out a solution for touch issue of controlP5 on android i can share it for all

i mean this library  
[http://www.sojamo.de/libraries/controlP5/](http://www.sojamo.de/libraries/controlP5/)

---

<div class="post-metadata">

### Author: ![paulgoux](https://avatars.discourse-cdn.com/v4/letter/p/b9bd4f/32.png) [@paulgoux](https://discourse.processing.org/u/paulgoux)
#### Post date: [February 26, 2021, 10:37am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/18 "2021-02-26T10:37:59Z")

</div>

I’m currently finishing up my own lib for android gui, with menus sliders tabs docks and windows. Its taken some time, but its almost finished now. Just have to convert the library I’ve already made for pc to handle mousepressed on handheld devices, will update later.

---

<div class="post-metadata">

### Author: ![jafal](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jafal/32/19112_2.png) [@jafal](https://discourse.processing.org/u/jafal)
#### Post date: [February 26, 2021, 10:41am UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/19 "2021-02-26T10:41:47Z")

</div>

> [@paulgoux](#):
>
> I’m currently finishing up my own lib for android gui, with menus sliders tabs docks and windows. Its taken s

nice work… 😃

---

<div class="post-metadata">

### Author: ![paulgoux](https://avatars.discourse-cdn.com/v4/letter/p/b9bd4f/32.png) [@paulgoux](https://discourse.processing.org/u/paulgoux)
#### Post date: [February 26, 2021, 1:51pm UTC](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070/20 "2021-02-26T13:51:27Z")

</div>

> **[paulgoux/androidGui](https://github.com/paulgoux/androidGui)**
>
> Contribute to paulgoux/androidGui development by creating an account on GitHub.

currently only the menu’s work. Again there is code for everything else, but I have to sort the button logic, to make it useful for android.

[Next page](https://discourse.processing.org/t/how-to-make-grid-out-of-boxes-3d/28070.md?page=2)
