LibGDX очень странная ошибка - объекты исчезли

Когда я создавал свой первый создатель плиточной карты вlibGDXЯ заметил очень странную ошибку. Я создаю сетку объектов следующим образом:

private static final int GRID_WIDTH=2400;
private static final int GRID_HEIGHT=2400;
private static final int CELL_SIZE=60;

так что вы можете видеть 2400 / 60x2400 / 60 объектов или ячеек. Я создаю свою карту следующим образом:

private void createMap(){
    cells = new Cell[GRID_WIDTH/CELL_SIZE][GRID_HEIGHT/CELL_SIZE];

    for(int i=0;i<GRID_WIDTH/CELL_SIZE;++i){
        for(int j=0;j<GRID_HEIGHT/CELL_SIZE;++j){
            cells[i][j]=new Cell(textures[0],i*CELL_SIZE,j*CELL_SIZE);
        }
    }
}

У меня также есть координаты для моей отладки на экране, поэтому я знаю, где они начали исчезать. Координата Y в порядке, есть от 0 до 2400, но на X они начали исчезать в 1500. Когда я начинаю рисовать там некоторую текстуру, каждый столбец будет виден этой текстуре, например (когда я начинаю писать текстуру в точке x = 2100 каждый исчезнувший столбец будет виден до 2100), и когда я удалю эту текстуру, каждый столбец снова исчезнет до 1500. Таким образом, объекты есть, но их не видно. Это так раздражает, кто-нибудь знает об этой ошибке?

Как вы можете видеть координаты внизу слева, это в начале:

и это когда я добавлю туда некоторые текстуры

[Отредактировано] Код с камерой:

        private float x=GRID_WIDTH/2,y=GRID_HEIGHT/2;

        @Override
        public void render(float delta) {
            batch = new SpriteBatch();
            camera=new OrthographicCamera(CAM_WIDTH,CAM_HEIGHT);
            viewPos = new Vector3();

            Gdx.gl.glClearColor(0, 0, 0, 1);
            Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
            viewPos.set(Gdx.input.getX(), Gdx.input.getY(), 0);
            camera.unproject(viewPos);

            batch.begin();

            if(Gdx.input.isKeyPressed(Input.Keys.RIGHT) || Gdx.input.isKeyPressed(Input.Keys.D))
                x+=SPEED*Gdx.graphics.getDeltaTime();
            if(Gdx.input.isKeyPressed(Input.Keys.LEFT) || Gdx.input.isKeyPressed(Input.Keys.A))
                x-=SPEED*Gdx.graphics.getDeltaTime();
            if(Gdx.input.isKeyPressed(Input.Keys.UP) || Gdx.input.isKeyPressed(Input.Keys.W))
                y+=SPEED*Gdx.graphics.getDeltaTime();
            if(Gdx.input.isKeyPressed(Input.Keys.DOWN) || Gdx.input.isKeyPressed(Input.Keys.S))
                y-=SPEED*Gdx.graphics.getDeltaTime();
            stage.act(Gdx.graphics.getDeltaTime());
            stage.draw();

            camera.position.set(x,y,0);
            camera.update();
            batch.setProjectionMatrix(camera.combined);
            batch.end();
      }

Ответы на вопрос(1)

Ваш ответ на вопрос