LWJGL库存渲染错误

时间:2014-10-12 18:10:12

标签: java opengl 2d lwjgl

所以我一直在制作一个2D RPG游戏,我已经很好地制定了库存,但是我遇到了一个问题,当我在插槽中有一个项目后,它不会渲染;它只是一个黑色的方块。

这是一个视觉效果:http://imgur.com/lLbv0fh

我正在使用立即模式渲染。

渲染库存方法:

 public void render(Renderer renderer) {
    if (shown == false) {
        return;
    }
    //renderer.renderRectangle(0, x, y, 220, 240, Color4f.BLACK);
    renderer.setFont(font);
    renderer.renderString("Inventory", x + 24, y + 11, Color4f.WHITE);
    renderer.setFont(Renderer.DEFAULT_FONT);

    int drawSlotsX = x + 25;
    int drawSlotsY = y + 50;

    int xPos = 0;
    int yPos = 0;
    int maxX = 4;
    int maxY = 4;



    for (int i = 0; i < slots.length; i++) {

        int renderX = ((xPos * 32) + drawSlotsX) + 2 * xPos;
        int renderY = ((yPos * 32) + drawSlotsY) + 2 * yPos;

        renderer.renderTexture(slot, renderX, renderY, 32, 32, 0);


        if (collisionBoxs[i] == null) {
            collisionBoxs[i] = new Rectangle(renderX, renderY, 32, 32);
        }
        if (slots[i] != null) { 
            renderer.renderTexture(slots[i].getItem().getIcon().getIcon(), renderX, renderY, 24, 32, 0);


            if (slots[i].getAmount() < 10) {
                renderer.renderString("" + slots[i].getAmount(), renderX + 22, renderY + 18, Color4f.BLACK);
            } else {
                renderer.renderString("" + slots[i].getAmount(), renderX + 18, renderY + 18, Color4f.BLACK);
            }
        }

        if (xPos < maxX) {
            xPos++;
        } else {
            xPos = 0;
            if (yPos < maxY) {
                yPos++;
            }
        }
    }

    if (grabbedItem != null) {
        renderer.renderTexture(grabbedItem.getItem().getIcon().getIcon(),  Mouse.getX(), (Engine.FRAME_HEIGHT - Mouse.getY()),  32, 32, 0);
    }
}

很抱歉,如果您无法在此方法中看到问题!

0 个答案:

没有答案