Пример #1
0
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;
}
Пример #2
0
 void print(std::ostream& os) {
   os << "REF TO --> [x: " << getCoordinateX() << " | y: " ;
   os << getCoordinateY() << "]: ";
   os << *_element;
 }