我正在构建一个简单的,自上而下的2D游戏,其中玩家将在有限大小的世界中生成,该世界可能相对较大(5000 x 5000像素),并且将连接约6或7个客户端一次。
将在客户端屏幕上相对于该位置绘制项目,以便它们始终显示在中心,并在它们周围绘制对象。
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.fillRect(objectX-playerX, objectY-playerY, objectWidth, objectHeight);
这将在正确的位置绘制项目,但是java会尝试在屏幕外绘制具有坐标的对象吗?像(-100,-350)
我可以使用一些渲染提示来防止这种情况吗?
答案 0 :(得分:0)
使用剪辑。剪辑定义绘制区域。
int screenWidth = 1920;
int screenHeight = 1080;
Rectangle clipShape = new Rectangle(0, 0, screenWidth, screenHeight);
g.setClip(clipShape);
在此代码中,将仅绘制“ clipShape”中的像素。
有很多定义剪辑的方法。因此,选择您喜欢的任何东西并使用:)