我想为我创建的游戏制作背景。 我在fillRect上遇到了一些问题。 getHeight和getWidth必须是某个顺序还是应该使用getX / Y / Height / Width?
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
//Graphical loop start
Rectangle rect = new Rectangle(0,0,1440,900) ;
g.fillRect(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());
//Graphical loop end
}
答案 0 :(得分:3)
首先,您使用的是Graphics对象而不是Graphics2D。您需要先设置颜色,然后使用填充方法。
g2d.setPaint(Color.BLUE);
g2d.fill(new Rectangle2D.Double(0, 0, screenWidth, screenHeight));
Rectangle2D构造函数参数是:左上角的x坐标,左上角的y坐标,宽度,高度
最好使用Graphics2D.fill()
方法接受实现Shape
接口的任何对象。如果您决定这样做,这样可以更容易地将形状更改为不同的形状。