Example #1
0
void SwarmEnemy::DistantSound(sf::Vector2f playerPos)
{
	if (DistanceFrom(playerPos) > 600)
	{
		explosionSound.setVolume(5);
	}
	else if (DistanceFrom(playerPos) > 500)
	{
		explosionSound.setVolume(10);
	}
	else if (DistanceFrom(playerPos) > 400)
	{
		explosionSound.setVolume(13);
	}
	else if (DistanceFrom(playerPos) > 300)
	{
		explosionSound.setVolume(17);
	}
	if (DistanceFrom(playerPos) < 300)
	{
		explosionSound.setVolume(20);
	}
	explosionSound.play();
}
Example #2
0
void CPlayer::Use()
{
	vector<CBaseEntity*> tmpVec;
	tmpVec = GlobEngine.GetEntityList();

	for(int i = 0; i <= tmpVec.size() - 1; ++i)
	{
		if(tmpVec[i]->GetType() == TYPE_ITEM && DistanceFrom(tmpVec[i]->GetX(), 
			tmpVec[i]->GetY(), GetX(), GetY()) <= DrawBox.w + DrawBox.h)
		{
			CItem* tmp = (CItem*)tmpVec[i];
			tmp->Handle_Item_Effect();
			break;
		}
	}
}
Example #3
0
bool SwarmEnemy::IsColliding(sf::Vector2f targetPosition, int targetRadius)
{
	if (m_alive == true)
	{
		//float distance = sqrt((targetPosition.x - m_position.x)*(targetPosition.x - m_position.x) + (targetPosition.y - m_position.y)*(targetPosition.y - m_position.y));
		if (DistanceFrom(targetPosition) < m_radius + targetRadius)		//collision occurs
		{
			//m_alive = false;
			return true;		//return true
		}
		else
		{
			return false;	//return false
		}
	}
	return false;
}