Какой эффективный способ визуализации объектов в разных слоях для моей Java-игры - PullRequest
0 голосов
/ 14 мая 2019

Я учусь делать игры на Java и Eclipse.Я хочу, чтобы игра, которую я делаю сейчас (простая игра на платформе), рисовала объекты в разных слоях.Я хочу, чтобы игрок был впереди, враги посередине и платформы / блоки были сзади.

Все объекты в моей игре имеют слой рендеринга 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);

Мой метод работает точно так же, как я этого хочу, но проблема в том, что моя игра иногда зависает или заикается, и использование процессора на моем ПКидет до 50-60%.Я совершенно уверен, что на современном компьютере не должно быть проблем с запуском этой игры.

Есть ли лучший способ сделать это?У меня есть правильная идея или я делаю это совершенно неправильно?

Помощь очень ценится!Спасибо за тонну!

...