コード例 #1
0
ファイル: MiniMap.cpp プロジェクト: pandaforks/Mirage--
void MiniMap::Render()
{
	mMiniMap.Render();

	SVector2 boxPosition(1375, 10);
	int numberOfNPCS = mMap.GetNumberOfNPCS();
	int numberOfPlayers = mOtherPlayers.GetNumberOfPlayers();

	SCircle mapCircle(1482, 114, 75);
	//Graphics_DebugCircle(mapCircle, 0XFF0000);


	SVector2 offset(boxPosition.x + mMiniMap.GetWidth() * 0.5f, boxPosition.y + mMiniMap.GetHeight() * 0.5f);

	for(int a = 0; a < numberOfNPCS; ++a)
	{
		SVector2 position = ((mMap.GetNPC(a)->GetPosition() - mCharacter.GetPosition()) * 0.05f + offset);

		SCircle tempCircle(position, 1);

		// If within our map radius
		if(Intersect(tempCircle, mapCircle))
		{
			mMiniMapEnemy.SetPosition(position);
			mMiniMapEnemy.Render();
		}
	}

	// If within our map radius
	mMiniMapPlayer.SetPosition(offset);
	mMiniMapPlayer.Render();

	for(int a = 0; a < numberOfPlayers; ++a)
	{
		SVector2 position = ((mOtherPlayers.GetPlayer(a)->GetPosition()  - mCharacter.GetPosition()) * 0.05f + offset);
		SCircle tempCircle(position, 1);

		// If within our map radius
		if(Intersect(tempCircle, mapCircle))
		{
			mMiniMapChar.SetPosition(position);
			mMiniMapChar.Render();
		}
	}


}
コード例 #2
0
ファイル: LightSource.cpp プロジェクト: flanr/GPIBase
//Creates multiple circles one ontop the other to create an effect
void LightSource::CreateCircle()
{
	m_LightTexture->clear();

	for(unsigned int i = 0; i < m_LightRadius / 2.0f; ++i)
	{
		sf::CircleShape tempCircle(m_LightRadius-(i*2.f));
		tempCircle.setOrigin(sf::Vector2f(m_LightRadius-(i*2.f), m_LightRadius-(i*2.f)));
		tempCircle.setFillColor(sf::Color(0, 0, 0, 255-(i*2)));
		tempCircle.setPosition(sf::Vector2f(m_LightRadius, m_LightRadius));

		m_LightTexture->draw(tempCircle, sf::BlendNone);
	}
	m_LightTexture->display();
	m_Circle->setTexture(&m_LightTexture->getTexture() );
	m_Circle->setPointCount(m_LightRadius);
	SetOrigin(sf::Vector2f(m_Circle->getTextureRect().width / 2.0f, m_Circle->getTextureRect().height / 2.0f) );
}
コード例 #3
0
Circle& Circle::operator++(int)
{
	Circle tempCircle(mRadius, mXCoord, mYCoord, mName);
	tempCircle.mRadius++;
	return tempCircle;
}