Java如何将图像放置在矩形上
这是密码Java如何将图像放置在矩形上,java,image,import,rectangles,Java,Image,Import,Rectangles,这是密码 player = createEntity(400, 600, 40, 60, Color.BLUE); private Node createEntity(int x, int y, int w, int h, Color color) { Rectangle entity = new Rectangle(w, h); entity.setTranslateX(x); entity.setTranslateY(y); entity.setFill(
player = createEntity(400, 600, 40, 60, Color.BLUE);
private Node createEntity(int x, int y, int w, int h, Color color) {
Rectangle entity = new Rectangle(w, h);
entity.setTranslateX(x);
entity.setTranslateY(y);
entity.setFill(color);
gameRoot.getChildren().add(entity);
return entity;
}
我不知道如何给我的球员一个形象,有什么想法吗
Java如何将图像放置在矩形上
我的建议(如果这是Swing)是不要使用矩形,或者使用矩形,而是作为更大解决方案的一部分
相反,我将创建一个逻辑类,可能称为Entity,它有一个位置、一个图像和一个draw方法,该方法接受图形参数,在需要的任何位置绘制其图像,然后创建实体对象。然后在我的JPanel的paintComponent方法中,我将遍历所有创建的实体,调用它们的draw方法
Java如何将图像放置在矩形上
我的建议(如果这是Swing)是不要使用矩形,或者使用矩形,而是作为更大解决方案的一部分
相反,我将创建一个逻辑类,可能称为Entity,它有一个位置、一个图像和一个draw方法,该方法接受图形参数,在需要的任何位置绘制其图像,然后创建实体对象。然后在我的JPanel的paintComponent方法中,我将遍历所有创建的实体,调用它们的draw方法。首先,您需要使用。这将防止出现与刷新显示相关的各种问题,并且Java的
BufferStrategy
会自动为您处理多缓冲,假设您请求多个缓冲
现在您已经确定屏幕得到更新,在渲染时,可以使用
drawRect
方法使用java.awt.Graphics
对象绘制一个矩形。如果要填充此矩形,请使用fillRect
。图形
对象以预定义的颜色绘制所有内容。如果您想更改颜色,可以调用setColor
。此方法需要一个java.awt.Color
对象作为参数,它允许您使用一个构造函数定义所有可能的64位透明颜色。它还有一些预定义的颜色,如Color.RED
,即0xFF0000
我建议您探索Graphics
提供的所有方法,甚至可以研究Graphics2D
,它支持一些额外的东西。请注意,大多数图形
对象都可以转换为图形2d
,但是如果您不确定,您可能需要查看Java的源代码(JDK安装中有一个src.zip
),或者使用instanceof
检查。事实上,Graphics2D
支持使用drawShape
或fillShape
方法绘制类似于矩形的形状
对于那些好奇的人来说,0xFF0000
是一种格式化颜色的方法。它是用十六进制编码的RGB(0xRRGGBB
)。它也通常用其他语言表示,比如CSS(层叠样式表,用于轻松格式化HTML文档)首先,您需要使用。这将防止出现与刷新显示相关的各种问题,并且Java的BufferStrategy
会自动为您处理多缓冲,假设您请求多个缓冲
现在您已经确定屏幕得到更新,在渲染时,可以使用drawRect
方法使用java.awt.Graphics
对象绘制一个矩形。如果要填充此矩形,请使用fillRect
。图形
对象以预定义的颜色绘制所有内容。如果您想更改颜色,可以调用setColor
。此方法需要一个java.awt.Color
对象作为参数,它允许您使用一个构造函数定义所有可能的64位透明颜色。它还有一些预定义的颜色,如Color.RED
,即0xFF0000
我建议您探索Graphics
提供的所有方法,甚至可以研究Graphics2D
,它支持一些额外的东西。请注意,大多数图形
对象都可以转换为图形2d
,但是如果您不确定,您可能需要查看Java的源代码(JDK安装中有一个src.zip
),或者使用instanceof
检查。事实上,Graphics2D
支持使用drawShape
或fillShape
方法绘制类似于矩形的形状
对于那些好奇的人来说,0xFF0000
是一种格式化颜色的方法。它是用十六进制编码的RGB(0xRRGGBB
)。它也通常用其他语言表示,比如CSS(层叠样式表,用于轻松格式化HTML文档),这取决于事物的绘制方式,但本质上,您可以在同一位置绘制一个,然后绘制另一个。您也可以将矩形直接绘制到图像上,但是,归根结底,你要知道的比你告诉我们的要多,这取决于画东西的方式,但本质上,你要在同一个位置画一个然后另一个你也可以直接在图像上画矩形,但是,再一次,这归根结底是知道的比你告诉我们的要多