package examples.etyllica.camera.application; import java.awt.Color; import br.com.etyllica.cinematics.Camera; import br.com.etyllica.core.context.Application; import br.com.etyllica.core.event.PointerEvent; import br.com.etyllica.core.graphics.Graphics; import br.com.etyllica.layer.ImageLayer; public class CameraExample extends Application { private Camera extendedCamera; private ImageLayer layer; public CameraExample(int w, int h) { super(w, h); } @Override public void load() { extendedCamera = new Camera(0, 0, w*2, h); layer = new ImageLayer("particle.png"); layer.centralize(this); //Centralize based on Application Position //extendedCamera.setZoom(2); extendedCamera.setAngle(45); } @Override public void draw(Graphics g) { g.setCamera(extendedCamera); //Draw background g.setColor(Color.CYAN); g.fillRect(x, y, extendedCamera.getW(), extendedCamera.getH()); //Draw layer layer.draw(g); g.resetCamera(extendedCamera); extendedCamera.draw(g); } @Override public void updateMouse(PointerEvent event) { extendedCamera.setAimX((int)(event.getX()*extendedCamera.getZoomX()-w/2)); extendedCamera.setAimY((int)(event.getY()*extendedCamera.getZoomY()-h/2)); } }