void TouchController::update(float dt){
resetTouchController();
if (_tap.x<0||_tap.y<0) return;
Point tap = _tap;
//donde esta posicionado el objeto al que se vincula el controlador
//en este caso a la poicion del objeto player le restamos la mitad de su alto y la mitad de su ancho
//para obtener la esquina inferior izquierda
auto originX = getParent()->getPositionX() - getParent()->getBoundingBox().size.width*0.5;
auto originY = getParent()->getPositionY() - getParent()->getBoundingBox().size.height*0.5;
auto playerX = originX + getParent()->getBoundingBox().size.width;
auto playerY = originY + getParent()->getBoundingBox().size.height;
//en funcion de la posicion del player y de donde toque el usuario,
//actualizamos hacia donde debe ir el sprite.
if (tap.x > playerX && tap.y > playerY){
_controller.upRight = true;
}
else if (tap.x < originX && tap.y> playerY){
_controller.upLeft = true;
}
else if (tap.x > playerX && tap.y < originY){
_controller.downRight = true;
}
else if (tap.x < originX && tap.y < originY){
_controller.downLeft = true;
}
else if (tap.x < originX){
_controller.left = true;
}
else if (tap.x > playerX){
_controller.right = true;
}
else if (tap.y < originY){
_controller.down = true;
}
else if (tap.y > playerY){
_controller.up = true;
}
}