问题描述
我正在研究一个项目,我已经制作了一个菜单和一个JPanel
,但是现在我想绘制JPanel
并在游戏中添加一些HUD。
我正在为游戏的最终面板提供图片,我想在左侧添加一个带有玩家头像的蓝色矩形,并在右侧添加带有动作,金钱等的另一个矩形,但是我想在“窗口”之外构建它们我在其中构造框架和所有JPanels的类。通常,既然玩家选择玩本地游戏,我希望随着游戏的继续在该面板上进行绘制和擦除。
private void render() {
BufferStrategy bs = this.getBufferStrategy();
if (bs == null) {
this.createBufferStrategy(1);
return;
}
Graphics g = null;
window.render();
if (gameState == STATE.MultiPlay) {
handler.render(g);
hud.render(g);
}
if (gameState == STATE.LocalPlay) {
handler.render(g);
hud.render(g);
}
}
我提供的代码是我在游戏引擎类中使用的渲染方法。使用我的游戏引擎,我使该方法每秒旋转10次,我想从这里实例化Graphics
类,然后继续其他类并渲染要绘制的所有内容JPanel
我如何使用JPanel
或类似的东西来提取Graphics
?
解决方法
您必须使用Graphics对象:
Graphics g= bs.getDrawGraphics();
我认为这将非常有用,祝您有愉快的一天。
PD:如果您不想这样做,也可以覆盖方法paint(Graphcis g)并使用参数。