什么是在我的Java游戏中的不同层中渲染对象的有效方法

时间:2019-05-14 01:17:24

标签: java graphics render

我正在学习如何用Java和Eclipse制作游戏。我希望我现在正在制作的游戏(一个简单的平台游戏)具有在不同图层上绘制的对象。我希望玩家在前面,敌人在中间,而平台/方块在后面。

我游戏中的所有对象在其构造函数中都有一个render层int。我正在处理渲染层的当前方法是,为贯穿所有对象并检查其renderLayer值的每个渲染层具有单独的渲染功能。如果对象具有正确的renderLayer值,则将对其进行绘制,否则将不会对其进行绘制,并将在需要其相应renderLayer值的函数中进行绘制。

代码如下:

public void render1(Graphics g){
    for(int i = 0; i < object.size(); i++){
        GameObject tempObject = object.get(i);
        if(tempObject.renderLayer == 1){
            tempObject.render(g);
        }
    }
}

我对每一层都有这些渲染功能之一。 在游戏循环中,渲染函数的调用方式如下:

handler.render1(g);
handler.render2(g);
handler.render3(g);

我的方法也可以完全按照我的要求工作,但是问题是我的游戏有时会停滞或停顿,并且PC上的CPU使用率上升了50-60%。我相当肯定,现代计算机运行该游戏应该不会出现问题。

是否有更好的解决方法?我有正确的主意还是做错了?

非常感谢您的帮助!多谢!

0 个答案:

没有答案