override public void update() { base.update(); if (getState() == STATE_STAND || getState() == STATE_WALKING) { //Obtener los dos tiles (en vertical) que están adelante mío List <CTile> frontTiles = new List <CTile>(); CAndy player = CGame.inst().getPlayer(); int yFrom = (int)(getY() + getHeight() - verticalDetectRange * CTileMap.Instance.getTileHeight()); int xFrom = 0; if (getFlip()) { xFrom = (int)((getX() - getRightOffsetBoundingBox() + getWidth())); } else { xFrom = (int)(getX() + getLeftOffsetBoundingBox() - CTileMap.Instance.getTileWidth() * horizontalDetectRange); } attackRange.setXY(xFrom, yFrom); attackRange.setWidth(horizontalDetectRange * CTileMap.Instance.getTileWidth()); attackRange.setHeight(verticalDetectRange * CTileMap.Instance.getTileHeight()); attackRange.setScaleX(horizontalDetectRange * CTileMap.Instance.getTileWidth()); attackRange.setScaleY(verticalDetectRange * CTileMap.Instance.getTileHeight()); if (attackRange.collidesRect(player)) { setState(STATE_ATTACKING); return; } } }