我正在建立一个简单的,自上而下,2D游戏中,玩家将在一个有限的size.The世界可能是相对较大(5000乘5000像素)的世界产卵,并将有大约6或7个客户端连接到它一次。
客户端屏幕上的项目将相对于这些位置进行绘制,因此它们始终显示在中心位置,而对象则在它们周围绘制。
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.fillRect(objectX-playerX, objectY-playerY, objectWidth, objectHeight);这将在正确的位置绘制项目,但java会尝试在屏幕外绘制具有坐标的对象吗?如(-100,-350)
有没有一些我可以用来防止这种情况的渲染提示?
发布于 2019-07-25 22:16:44
使用剪辑。剪裁定义绘图区域。
int screenWidth = 1920;
int screenHeight = 1080;
Rectangle clipShape = new Rectangle(0, 0, screenWidth, screenHeight);
g.setClip(clipShape);在此代码中,将只绘制"clipShape“中的像素。
定义剪辑的方式有很多种。所以选择你喜欢的任何东西并使用:)
https://stackoverflow.com/questions/56147381
复制相似问题