@Override public void render(Screen screen) { screen.clear(0); screen.blit(Art.emptyBackground, 0, 0); Font.defaultFont().draw(screen, MojamComponent.texts.getStatic("mp.enterIP"), 100, 100); Font.defaultFont().draw(screen, TitleMenu.ip + "-", 100, 120); super.render(screen); }
public void render(Screen screen) { screen.clear(0); // screen.blit(Art.titles[1], 0, 10); screen.blit(Art.titleScreen, 0, 0); super.render(screen); screen.blit(Art.lordLard[0][6], (gameWidth - 128) / 2 - 40, 180 + selectedItem * 40); }
@Override public void tick(MouseButtons mouseButtons) { super.tick(mouseButtons); // show/hide save menu buttons if (updateButtons) { updateSaveButtons(); updateButtons = false; } // lock buttons when save menu is visible if (saveMenuVisible) return; // update pencil location pencilX = (mouseButtons.getX() / 2) - (TILE_WIDTH / 2); pencilY = (mouseButtons.getY() / 2) - (TILE_HEIGHT / 2); // move level x with mouse if (mouseButtons.getX() - MENU_WIDTH > MENU_WIDTH) { if (pencilX + TILE_WIDTH > MojamComponent.GAME_WIDTH && -(mapX - MENU_WIDTH) < mapW - (MojamComponent.GAME_WIDTH - MENU_WIDTH) + TILE_HEIGHT) { mapX -= TILE_WIDTH / 2; } else if (pencilX < MENU_WIDTH && mapX < MENU_WIDTH + 32) { mapX += TILE_WIDTH / 2; } } // move level y with mouse if (pencilY + TILE_HEIGHT > MojamComponent.GAME_HEIGHT && -mapY < mapH - MojamComponent.GAME_HEIGHT + TILE_HEIGHT) { mapY -= TILE_HEIGHT / 2; } else if (pencilY < 0 && mapY < TILE_HEIGHT) { mapY += TILE_HEIGHT / 2; } // draw if (drawing || editorComponent.isPressed()) { int x = (((pencilX + TILE_WIDTH / 2) - mapX) / TILE_WIDTH); int y = (((pencilY + TILE_HEIGHT / 2) - mapY) / TILE_HEIGHT); draw(selectedButton.getTile(), x, y); } }
@Override public void render(Screen screen) { screen.clear(0); // level floor screen.blit(mapFloor, mapX, mapY); // level tiles for (int x = 0; x < LEVEL_HEIGHT; x++) { for (int y = 0; y < LEVEL_WIDTH; y++) { if (map[x][y] == null) continue; if (map[x][y].h == TILE_HEIGHT) { if (mapTile[x][y] == HoleTile.COLOR) { if (y > 0 && !(mapTile[x][y - 1] == HoleTile.COLOR)) { screen.blit(map[x][y], TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY); } else { screen.fill( TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY, TILE_WIDTH, TILE_HEIGHT, 0); } } else { screen.blit(map[x][y], TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY); } } else { // tile real height int tileH = (int) (Math.ceil(map[x][y].h / (float) TILE_HEIGHT)) * TILE_WIDTH; int tileY = TILE_HEIGHT - (tileH - map[x][y].h); if (mapTile[x][y] == UnbreakableRailTile.COLOR) { boolean n = y > 0 && mapTile[x][y - 1] == UnbreakableRailTile.COLOR; boolean s = y < 47 && mapTile[x][y + 1] == UnbreakableRailTile.COLOR; boolean w = x > 0 && mapTile[x - 1][y] == UnbreakableRailTile.COLOR; boolean e = x < 47 && mapTile[x + 1][y] == UnbreakableRailTile.COLOR; int c = (n ? 1 : 0) + (s ? 1 : 0) + (w ? 1 : 0) + (e ? 1 : 0); int img; if (c <= 1) { img = (n || s) ? 1 : 0; // default is horizontal } else if (c == 2) { if (n && s) { img = 1; // vertical } else if (w && e) { img = 0; // horizontal } else { img = n ? 4 : 2; // north turn img += e ? 0 : 1; // south turn } } else { // 3 or more turning disk img = 6; } screen.blit(Art.rails[img][0], mapX + TILE_HEIGHT * x, mapY + TILE_HEIGHT * y - tileY); } else { screen.blit(map[x][y], mapX + TILE_HEIGHT * x, mapY + TILE_HEIGHT * y - tileY); } } } } // pencil position indicator for (int x = 0; x < LEVEL_HEIGHT; x++) { for (int y = 0; y < LEVEL_WIDTH; y++) { if (x == (((pencilX + TILE_WIDTH / 2) - mapX) / TILE_WIDTH) && y == (((pencilY + TILE_HEIGHT / 2) - mapY) / TILE_HEIGHT)) { screen.blit(pencil, TILE_HEIGHT * x + mapX, TILE_HEIGHT * y + mapY); break; } } } super.render(screen); // minimap screen.blit(minimap, screen.w - minimap.w - 6, 6); // title // Font.defaultFont().drawCentered(screen, MojamComponent.texts.getStatic("leveleditor.title"), // MENU_WIDTH / 2, 10); }
private void addMenu(GuiMenu menu) { menuStack.add(menu); menu.addButtonListener(this); }