List of usage examples for com.badlogic.gdx.scenes.scene2d.utils TextureRegionDrawable draw
public void draw(Batch batch, float x, float y, float originX, float originY, float width, float height, float scaleX, float scaleY, float rotation)
From source file:com.bladecoder.engine.ui.defaults.DefaultSceneScreen.java
License:Apache License
private void drawHotspots(SpriteBatch batch) { final World world = World.getInstance(); for (BaseActor a : world.getCurrentScene().getActors().values()) { if (!(a instanceof InteractiveActor) || !a.isVisible() || a == world.getCurrentScene().getPlayer()) continue; InteractiveActor ia = (InteractiveActor) a; if (!ia.canInteract()) continue; Polygon p = a.getBBox();/*from w w w . ja v a 2 s . c o m*/ if (p == null) { EngineLogger.error("ERROR DRAWING HOTSPOT FOR: " + a.getId()); } Rectangle r = a.getBBox().getBoundingRectangle(); unprojectTmp.set(r.getX() + r.getWidth() / 2, r.getY() + r.getHeight() / 2, 0); world.getSceneCamera().scene2screen(viewport, unprojectTmp); if (!showDesc || ia.getDesc() == null) { float size = DPIUtils.ICON_SIZE * DPIUtils.getSizeMultiplier(); if (ia.getVerb("leave") != null) { TextureRegionDrawable drawable = (TextureRegionDrawable) getUI().getSkin().getDrawable("leave"); // drawable.draw(batch, unprojectTmp.x - size / 2, // unprojectTmp.y - size / 2, size, size); drawable.draw(batch, unprojectTmp.x - size / 2, unprojectTmp.y - size / 2, size / 2, size / 2, size, size, 1.0f, 1.0f, calcLeaveArrowRotation(ia)); } else { Drawable drawable = ((TextureRegionDrawable) getUI().getSkin().getDrawable("hotspot")) .tint(Color.RED); drawable.draw(batch, unprojectTmp.x - size / 2, unprojectTmp.y - size / 2, size, size); } } else { BitmapFont font = getUI().getSkin().getFont("desc"); String desc = ia.getDesc(); if (desc.charAt(0) == I18N.PREFIX) desc = I18N.getString(desc.substring(1)); textLayout.setText(font, desc); float textX = unprojectTmp.x - textLayout.width / 2; float textY = unprojectTmp.y + textLayout.height; RectangleRenderer.draw(batch, textX - 8, textY - textLayout.height - 8, textLayout.width + 16, textLayout.height + 16, Color.BLACK); font.draw(batch, textLayout, textX, textY); } } }