LWJGL Inventory Rendering Wrong
So I was working on a 2D RPG and I designed the inventory pretty well, but ive ran into an issue where when I have an item in a slot, the slot immediately after it doesn't display; its just a black square.
Here is a visual: http://imgur.com/lLbv0fh
Im using immediate rendering mode.
Rendering Inventory Method:
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);
}
}
Sorry if you don't see a problem with this method!
+3
source to share
No one has answered this question yet
Check out similar questions: