package com.opticalcobra.storybear.game; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.util.Random; import javax.swing.ImageIcon; import javax.swing.JLabel; import com.opticalcobra.storybear.debug.DebugSettings; import com.opticalcobra.storybear.res.Imagelib; import com.opticalcobra.storybear.res.Ressources; import com.opticalcobra.storybear.res.StoryBearRandom; public class CloudRenderer extends Renderer implements IRenderer{ private Imagelib il = Imagelib.getInstance(); private Random rand = new Random(); private int lastTile = 0; private int panelnum = 0; @Override public void getNextViewPart(JLabel pane) { panelnum++; BufferedImage image = new BufferedImage(Ressources.WINDOW.width, Ressources.WINDOW.height, BufferedImage.TYPE_INT_ARGB); Graphics2D g = (Graphics2D) image.getGraphics(); g.setColor(Ressources.SKYCOLOR); g.fillRect(0, 0, Ressources.WINDOW.width, Ressources.WINDOW.height); for(int i=0;i*Ressources.RASTERSIZE*4<Ressources.WINDOW.width;i++){ if(rand.nextInt(4)==1) g.drawImage(getNextMapElement(),i*Ressources.RASTERSIZE*4,60,null); if(DebugSettings.cloudtilenum) renderText(g,((float) (Ressources.STORYTEXTSIZE/Ressources.SCALE)), lastTile+"", (i*Ressources.RASTERSIZE)+20,100); if(DebugSettings.cloudpanelborder) g.drawRect(i*Ressources.RASTERSIZE, 0, Ressources.RASTERSIZE, Ressources.WINDOW.height); } pane.setIcon(new ImageIcon(image)); if(DebugSettings.cloudtilenum) renderText(g,50, panelnum+"", 20, 40); } private BufferedImage getNextMapElement(){ return il.loadLandscapeTile(0 , Imagelib.QUERY_CLOUDS, null); } }