float Enemy::getPlayerAngle(sf::Vector2f &playerCoord, sf::RenderWindow *window, Bullet *bullet) { float alphaX = playerCoord.x - getCoordinateX();//вектор , колинеарный прямой, которая пересекает спрайт и курсор float alphaY = playerCoord.y - getCoordinateY();//он же, координата y float angle = (atan2(alphaY, alphaX)) * 180 / PI;//получаем угол в радианах и переводим его в градусы float vecLength = sqrt(pow(alphaX, 2) + pow(alphaY, 2)); sf::Vector2f normVec(alphaX / vecLength, alphaY / vecLength); //sf::Vector2f winSize(window->getSize().x, window->getSize().y); //if (vecLength < visibleRadius) isPlayerVisible = true; //видимость в радиусе = visibleRadius; return angle; }
void print(std::ostream& os) { os << "REF TO --> [x: " << getCoordinateX() << " | y: " ; os << getCoordinateY() << "]: "; os << *_element; }