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(); }
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; } } }
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; }