//----SET
void TBox::CreateBox(unsigned int m_iColor, const bool bText, const bool bSprite, const bool bLine)
{
	if (m_pTextSprite == nullptr && bText)
	{
		m_pTextSprite = GfxTextSpriteCreate();
		GfxSpriteSetFilteringEnabled(m_pTextSprite, true);
	}
	m_bIsDrawable = true;
	if (bLine)
	{
		//Line
		m_pLineSprite = GfxLineSpriteCreate();
	}
	if (bSprite)
	{
		//Image
		TGfxImage * pImage = GfxImageCreate(1, 1);
		GfxImageGetData(pImage)[0] = EGfxColor_White;
		TGfxTexture * pTexture = GfxTextureCreate(pImage);
		m_pSprite = GfxSpriteCreate(pTexture);
		GfxSpriteSetFilteringEnabled(m_pSprite, false);
		GfxSpriteSetPivot(m_pSprite, 0.5f, 0.5f);
		SetColor(m_iColor);
	}
}
void TBox::CreateSpriteBox(TGfxTexture * pTexture)
{
	m_bIsDrawable = true;
	m_pSprite = GfxSpriteCreate(pTexture);
	int iSizeX = GfxSpriteGetSizeX(m_pSprite);
	int iSizeY = GfxSpriteGetSizeY(m_pSprite);
	GfxSpriteSetFilteringEnabled(m_pSprite, false);
	GfxSpriteSetPivot(m_pSprite, iSizeX / 2.0f, iSizeY / 2.0f);
	SetBox(TGfxVec2(0.0f, 0.0f), (float)iSizeX, (float)iSizeY);
}
void TBox::SetTexte(char * pChar)
{
	GfxTextSpritePrintf(m_pTextSprite, pChar);

	float fSizeX = GfxSpriteGetSizeX(m_pTextSprite)/2.0f;
	float fSizeY = GfxSpriteGetSizeY(m_pTextSprite)/2.0f;
	m_pText = pChar;
	GfxSpriteSetPivot(m_pTextSprite, fSizeX, fSizeY);
	GfxSpriteSetPosition(m_pTextSprite, m_tCenter.x, m_tCenter.y);
}
void TBox::CreateTextBox(const char * pName)
{
	m_bIsDrawable = true;
	m_pTextSprite = GfxTextSpriteCreate();
	GfxSpriteSetFilteringEnabled(m_pTextSprite, false);
	GfxTextSpritePrintf(m_pTextSprite, pName);
	int iSizeX = GfxSpriteGetSizeX(m_pTextSprite);
	int iSizeY = GfxSpriteGetSizeY(m_pTextSprite);
	GfxSpriteSetPivot(m_pTextSprite, iSizeX / 2.0f, iSizeY / 2.0f);
	SetBox(TGfxVec2(0.0f, 0.0f), (float)iSizeX, (float)iSizeY);
}
void TBox::CreateSpriteBox(TGfxTexture * pTexture, const int iTextureSize, int iTileX, int iTileY, int iTextureSizeY)
{
	iTextureSizeY = (iTextureSizeY != 0) ? iTextureSizeY : iTextureSize;

	m_bIsDrawable = true;
	m_pSprite = GfxSpriteCreate(pTexture);
	GfxSpriteSetFilteringEnabled(m_pSprite, false);
	GfxSpriteSetCutout(m_pSprite, iTileX*iTextureSize, iTileY*iTextureSizeY, iTextureSize, iTextureSizeY);
	GfxSpriteSetPivot(m_pSprite, iTextureSize / 2.0f, iTextureSizeY / 2.0f);
	SetBox(TGfxVec2(0.0f, 0.0f), (float)iTextureSize, (float)iTextureSizeY);
}
Exemple #6
0
TGfxSprite * CreateTile(const TGfxTexture * g_pTexture, const int g_iPosX, const int g_iPosY, const int iTileX, const int iTileY)
{

    TGfxSprite * pSprite = GfxSpriteCreate(g_pTexture);
    GfxSpriteSetScale(pSprite, float(SCALE), float(SCALE));
    GfxSpriteSetFilteringEnabled(pSprite, false);
    GfxSpriteSetCutout(pSprite, g_iPosX * TILE_SIZE, g_iPosY * TILE_SIZE, TILE_SIZE, TILE_SIZE);
    GfxSpriteSetPosition(pSprite, float(SCALE) * TILE_SIZE * iTileX, float(SCALE) * TILE_SIZE * iTileY);
    GfxSpriteSetPivot(pSprite, TILE_SIZE / 2, TILE_SIZE / 2); // Change le point de collision de tout les tile créés comme ça

    return pSprite;  // toujours mettre le return à la fin car ça sort de la fonction.
}
void TBox::SetTexte(int iValeur)
{
	if (m_pTextSprite == nullptr)
	{
		m_pTextSprite = GfxTextSpriteCreate();
	}
	GfxTextSpritePrintf(m_pTextSprite, "%i\n",iValeur);
	m_iText = iValeur;

	float fSizeX = GfxSpriteGetSizeX(m_pTextSprite) / 2.0f;
	float fSizeY = GfxSpriteGetSizeY(m_pTextSprite) / 2.0f;

	GfxSpriteSetPivot(m_pTextSprite, fSizeX, fSizeY);
	GfxSpriteSetPosition(m_pTextSprite, m_tCenter.x, m_tCenter.y);
}
Exemple #8
0
	void CreateCave(int ActCave)
	{
		g_pCave[ActCave].iScale = GfxMathGetRandomInteger(32, 64);
		bool Collisioned = true;
		do
		{
			g_pCave[ActCave].iPosX = (GfxMathGetRandomInteger(g_pCave[ActCave].iScale, GfxGetDisplaySizeX() - g_pCave[ActCave].iScale));
			g_pCave[ActCave].iPosY = (GfxMathGetRandomInteger(g_pCave[ActCave].iScale, GfxGetDisplaySizeY() - g_pCave[ActCave].iScale));
			Collisioned = false;
			for (int e = 0; e < ActCave; e++)
			{
				if (!(g_pCave[ActCave].iPosX > g_pCave[e].iPosX + g_pCave[e].iScale + 20)
					&& !(g_pCave[ActCave].iPosX < g_pCave[e].iPosX - g_pCave[ActCave].iScale - 20)
					&& !(g_pCave[ActCave].iPosY < g_pCave[e].iPosY - g_pCave[ActCave].iScale - 20)
					&& !(g_pCave[ActCave].iPosY > g_pCave[e].iPosY + g_pCave[e].iScale + 20))
				{
					Collisioned = true;
				}
			}
			if (ActCave == 0)
			{
				Collisioned = false;
			}
		} while (Collisioned == true);


		g_pCave[ActCave].pLines = GfxLineSpriteCreate();
		ArcheoStuffs::DrawCircle(g_pCave[ActCave].pLines, TGfxVec2(0, 0), g_pCave[ActCave].iScale / 2, EGfxColor_Blue, false);
		GfxSpriteSetPosition(g_pCave[ActCave].pLines, g_pCave[ActCave].iPosX, g_pCave[ActCave].iPosY);

		g_pCave[ActCave].g_pSpriteCave = GfxSpriteCreate(g_pTexture);
		GfxSpriteSetPivot(g_pCave[ActCave].g_pSpriteCave, 0.5, 0.5);
		GfxSpriteSetScale(g_pCave[ActCave].g_pSpriteCave, g_pCave[ActCave].iScale, g_pCave[ActCave].iScale);
		GfxSpriteSetColor(g_pCave[ActCave].g_pSpriteCave, GfxColor(0, 0, 255, 255));
		GfxSpriteSetPosition(g_pCave[ActCave].g_pSpriteCave, g_pCave[ActCave].iPosX, g_pCave[ActCave].iPosY);
		g_iNbrCaveCreated++;
	}