//----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); }
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); }
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++; }