Ejemplo n.º 1
0
  private void drawLight(Entity entity, int lightSize, int x, int y) {
    Graphics g = container.getGraphics();
    ResourceManager manager = ResourceManager.getInstance();
    String resName = resourceMapper.get(entity).getResourceName();
    Resource res = manager.getResource(resName);
    Image entityFrame = getFrame(res);
    int ew = entityFrame.getWidth();
    int eh = entityFrame.getHeight();

    float invSize = 1f / lightSize;
    g.clearAlphaMap();
    g.scale(lightSize, lightSize);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
    Image light = (Image) manager.getResource("light").getObject();
    light.drawCentered((x) * invSize, (y) * invSize);
    g.scale(invSize, invSize);
    GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_DST_ALPHA);
    g.setColor(new Color(0, 0, 0, 255));
    g.fillRect(0, 0, container.getWidth(), container.getHeight());
    g.setDrawMode(Graphics.MODE_NORMAL);
  }