Будет ли Java оттягивать элементы экрана? - PullRequest
2 голосов
/ 15 мая 2019

Я строю простую 2D-игру сверху вниз, в которой игроки будут появляться в мире ограниченного размера. Мир может быть относительно большим (5000 на 5000 пикселей), и к нему будет подключено около 6 или 7 клиентов

Элементы на экране клиентов будут нарисованы относительно их положения, так что они всегда будут отображаться в центре, а объекты будут нарисованы вокруг них.

super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.fillRect(objectX-playerX, objectY-playerY, objectWidth, objectHeight);

Это будетнарисовать элементы в правильном положении, но будет ли Java пытаться нарисовать объекты, координаты которых находятся за пределами экрана?Как (-100, -350)

Есть ли какие-нибудь подсказки по рендерингу, которые я могу использовать для предотвращения этого?

1 Ответ

0 голосов
/ 25 июля 2019

Использовать клип.клип определяет область рисования.

int screenWidth = 1920;
int screenHeight = 1080;

Rectangle clipShape = new Rectangle(0, 0, screenWidth, screenHeight);
g.setClip(clipShape);

в этом коде, только пиксели в "clipShape" будут нарисованы.

есть много способов определить клип.поэтому выбирайте любую понравившуюся вещь и пользуйтесь:)

...