Rectangle not showing (TouchScreen & TFT)

Thank You Sooo Much @david_prentice!

It finally works!

Here is my updated code (In case anyone wants it):

#include <TouchScreen.h>
#include <MCUFRIEND_kbv.h>
#include <Adafruit_GFX.h>

const int XP = 8, XM = A2, YP = A3, YM = 9; //320x480 ID=0x9486
const int TS_LEFT = 911, TS_RT = 138, TS_TOP = 135, TS_BOT = 929;

TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);


MCUFRIEND_kbv tft;

#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define LIME    0x07E0
#define GREEN   0x3b03
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
#define BROWN   0x80a0
#define ORANGE  0xf980

int colour = RED;
int pixel_x, pixel_y;
void setup() {

  tft.begin(38022);


  Serial.begin(9600);
  Serial.println(tft.readID());

  tft.fillScreen(WHITE);


  //drawing buttons, yay
  tft.fillRect(0, 0, 32, 32, BLACK);
  tft.drawRect(0, 0, 32, 32, BLACK);

  tft.fillRect(32, 0, 32, 32, WHITE);
  tft.drawRect(32, 0, 32, 32, BLACK);

  tft.fillRect(64, 0, 32, 32, RED);
  tft.drawRect(64, 0, 32, 32, BLACK);

  tft.fillRect(96, 0, 32, 32, ORANGE);
  tft.drawRect(96, 0, 32, 32, BLACK);

  tft.fillRect(128, 0, 32, 32, YELLOW);
  tft.drawRect(128, 0, 32, 32, BLACK);

  tft.fillRect(160, 0, 32, 32, LIME);
  tft.drawRect(160, 0, 32, 32, BLACK);



  tft.fillRect(192, 0, 32, 32, CYAN);
  tft.drawRect(192, 0, 32, 32, BLACK);

  tft.fillRect(224, 0, 32, 32, BLUE);
  tft.drawRect(224, 0, 32, 32, BLACK);

  tft.fillRect(256, 0, 32, 32, MAGENTA);
  tft.drawRect(256, 0, 32, 32, BLACK);

  tft.fillRect(288, 0, 32, 32, BROWN);
  tft.drawRect(288, 0, 32, 32, BLACK);

  /*
    drawing size wheel

    tft.setCursor(320,440);
    tft.setTextSize(2);
    tft.setTextColor(BLACK);
    tft.print("Size");


    tft.drawRoundRect(55,450,30,30,3,BLACK);
  */
}

void loop() {


  TSPoint p = ts.getPoint();



  pinMode(XM, OUTPUT);
  pinMode(YP, OUTPUT);

  double Ssize = 1;
  int size = 0;
  bool pressed = (p.z > 200 && p.z < 1000);
  if (pressed) {

    int  px = map(p.x, 133, 916, 0, 320);
    int py = map(p.y, 934, 92, 0, 480);


    if (p.x < 32 && p.y < 32) {
      colour = BLACK;

      tft.fillRect(0, 0, 32, 32, BLACK);
      tft.drawRect(0, 0, 32, 32, BLACK);
    }

    if (p.z > 800) {
      size = 2;
      Serial.println("Drew Circle of r 5");
    }
    if (p.z > 600 && p.z < 800) {
      size = 3 * Ssize;
    }
    if (p.z > 400 && p.z < 600) {
      size = 5 * Ssize;
    }
    if (p.z > 200 && p.z < 400) {
      size = 7 * Ssize;
    }
    if (p.z > 200 && p.z < 400) {
      size = 9 * Ssize;
    }


    tft.fillCircle(px, py, size , colour);



  }

}

If anyone else has the same problem, and that's why you are looking at this post, then look at all of David's Posts, It'll help.

Thanks Again David!