package examples.etyllica.tutorial19; import br.com.etyllica.awt.SVGColor; import br.com.etyllica.core.collision.CollisionDetector; import br.com.etyllica.core.context.Application; import br.com.etyllica.core.context.UpdateIntervalListener; import br.com.etyllica.core.event.PointerEvent; import br.com.etyllica.core.graphics.Graphics; import br.com.etyllica.layer.BufferedLayer; public class HexagonalApplication extends Application implements UpdateIntervalListener { private BufferedLayer hexagon; private int mx = 0; private int my = 0; public HexagonalApplication(int w, int h) { super(w, h); } @Override public void load() { hexagon = new BufferedLayer("tiles/hexagon.png"); hexagon.setCoordinates(w/2-hexagon.getW()/2, h/2-hexagon.getH()/2); updateAtFixedRate(10, this); } @Override public void timeUpdate(long now) { if(CollisionDetector.colideHexagonPoint(hexagon, mx, my)) { hexagon.offsetNegativeBlue(0x130); } else { hexagon.resetImage(); } } public void updateMouse(PointerEvent event) { mx = event.getX(); my = event.getY(); } @Override public void draw(Graphics g) { g.setColor(SVGColor.SKY_BLUE); g.fillRect(0, 0, w, h); hexagon.draw(g); } }