Java会绘制屏幕元素吗?

时间:2019-05-15 10:40:14

标签: java graphics2d

我正在构建一个简单的,自上而下的2D游戏,其中玩家将在有限大小的世界中生成,该世界可能相对较大(5000 x 5000像素),并且将连接约6或7个客户端一次。

将在客户端屏幕上相对于该位置绘制项目,以便它们始终显示在中心,并在它们周围绘制对象。

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

这将在正确的位置绘制项目,但是java会尝试在屏幕外绘制具有坐标的对象吗?像(-100,-350)

我可以使用一些渲染提示来防止这种情况吗?

1 个答案:

答案 0 :(得分:0)

使用剪辑。剪辑定义绘制区域。

int screenWidth = 1920;
int screenHeight = 1080;

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

在此代码中,将仅绘制“ clipShape”中的像素。

有很多定义剪辑的方法。因此,选择您喜欢的任何东西并使用:)