public CommonDrawer() { myTextureChecker = new TextureChecker(); w = Gdx.graphics.getWidth(); h = Gdx.graphics.getHeight(); r = w / h; mySpriteBatch = new SpriteBatch(); final FileHandle fontFile = FileManager.getInstance().getFontsDirectory().child("main.fnt"); myFont = new BitmapFont(fontFile, true); myFont.setUseIntegerPositions(false); myOrigFontHeight = myFont.getXHeight(); layout = new GlyphLayout(); }
public void drawString(String s, float x, float y, float fontSize, boolean centered, Color col) { if (s == null) return; myTextureChecker.onString(myFont.getRegion().getTexture()); myFont.setColor(col); myFont.getData().setScale(fontSize / myOrigFontHeight); if (!centered) { myFont.draw(mySpriteBatch, s, x, y); return; } // http://www.badlogicgames.com/wordpress/?p=3658 layout.reset(); layout.setText(myFont, s); x -= layout.width / 2; y -= layout.height / 2; myFont.draw(mySpriteBatch, layout, x, y); }
public void render(float delta) { gameTicks++; long seconds = (long) ((gameTicks / 60D) * 10L); Gdx.gl.glClearColor(0.1f, 0.1f, 0.1f, 1); Gdx.gl.glClear(Gdx.gl.GL_COLOR_BUFFER_BIT); controller.update(delta); updateEntities(delta); renderer.render(); button.begin(ShapeRenderer.ShapeType.Filled); { if (Gdx.app.getType().equals(Application.ApplicationType.Android)) { Gdx.gl.glEnable(Gdx.gl20.GL_BLEND); Gdx.gl.glBlendFunc(Gdx.gl20.GL_SRC_ALPHA, Gdx.gl20.GL_ONE_MINUS_SRC_ALPHA); button.setColor(0.0F, 0.5F, 0.5F, 0.5F); button.rect(left.x, left.y, left.width, left.height); button.rect(right.x, right.y, right.width, right.height); button.setColor(1.0F, 1.0F, 1.0F, 0.5F); button.rect(jump.x, jump.y, jump.width, jump.height); } world.getJaxon().inventory.renderGUI(button, width, height, buttonSize * 0.75F); } button.end(); batch.begin(); { if (Gdx.app.getType().equals(Application.ApplicationType.Android)) { batch.draw(controlLeft, left.x, left.y, left.width, left.height); batch.draw(controlRight, right.x, right.y, right.width, right.height); batch.draw(controlUp, jump.x, jump.y, jump.width, jump.height); } world.getJaxon().inventory.renderItems(batch, width, height, buttonSize * 0.75F); font.draw( batch, "Time: " + (seconds / 10D) + " ticks, FPS: " + Gdx.graphics.getFramesPerSecond(), 0, height - 10); } batch.end(); }
public void dispose() { mySpriteBatch.dispose(); myFont.dispose(); }