java 会绘制出屏幕元素吗?
Will java draw off screen elements?
我正在构建一个简单的自上而下的 2D 游戏,玩家将在一个有限的世界中生成 size.The 世界可能相对较大(5000 x 5000 像素)并且大约有 6 或 7 个客户端立即连接到它。
客户端屏幕上的项目将相对于那里的位置绘制,因此它们始终出现在中心,对象围绕它们绘制。
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.fillRect(objectX-playerX, objectY-playerY, objectWidth, objectHeight);
这会在正确的位置绘制项目,但是 java 会尝试在屏幕外绘制具有坐标的对象吗?喜欢 (-100, -350)
是否有一些渲染提示可以用来防止这种情况发生?
使用剪辑。剪辑定义绘制区域。
int screenWidth = 1920;
int screenHeight = 1080;
Rectangle clipShape = new Rectangle(0, 0, screenWidth, screenHeight);
g.setClip(clipShape);
在这段代码中,只会绘制 "clipShape" 中的像素。
有很多方法可以定义剪辑。所以选择任何你喜欢的东西并使用:)
我正在构建一个简单的自上而下的 2D 游戏,玩家将在一个有限的世界中生成 size.The 世界可能相对较大(5000 x 5000 像素)并且大约有 6 或 7 个客户端立即连接到它。
客户端屏幕上的项目将相对于那里的位置绘制,因此它们始终出现在中心,对象围绕它们绘制。
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.fillRect(objectX-playerX, objectY-playerY, objectWidth, objectHeight);
这会在正确的位置绘制项目,但是 java 会尝试在屏幕外绘制具有坐标的对象吗?喜欢 (-100, -350)
是否有一些渲染提示可以用来防止这种情况发生?
使用剪辑。剪辑定义绘制区域。
int screenWidth = 1920;
int screenHeight = 1080;
Rectangle clipShape = new Rectangle(0, 0, screenWidth, screenHeight);
g.setClip(clipShape);
在这段代码中,只会绘制 "clipShape" 中的像素。
有很多方法可以定义剪辑。所以选择任何你喜欢的东西并使用:)