Ejemplo n.º 1
0
bool GameEngine::construct()
{
	// dynamic allocations
	m_graphicEngine.init();

	int numberOfElements = 1000;

	// TODO : 
			// temporary : to remplace by a ressource loader

	// creation du TileSet et initialisation
	m_graphicEngine.addTileSet("test", "Res/tileTest.png", numberOfElements, 1);

	std::string nomCleAnimation("vieuxJaune");
	Vector2f tailleTuile(32, 48);

	// preparation necessaire pour la creation des sprites/animations
	// creation des caracteristiques des textures
	for (unsigned int indiceLigne = 0; indiceLigne < 4; indiceLigne++)
	{
		//creation des points pour les textures/animations
		std::vector <Vector2f> texturePoints;

		for (unsigned int indiceColonne = 0; indiceColonne < 3; indiceColonne++)
		{
			texturePoints.push_back(Vector2f(indiceColonne*tailleTuile.x, indiceLigne*tailleTuile.y));
		}

		// ajout dans le moteur des caracteristiques
		m_graphicEngine.addTextureCharacteristics(
			nomCleAnimation,
			"test",
			tailleTuile,
			texturePoints,
			0.25);
	}

	// creation d'une animation a partir des caracteristiques "vieuxJaune" au niveau 0
	m_graphicEngine.addAnimation(nomCleAnimation, 0, 1);

	// lancement de l'animation en mode infini
	std::vector <fme::Sprite*> animations;
	for (unsigned int i = 0; i < numberOfElements; i++)
	{
		animations.push_back(m_graphicEngine.getFreeSprite(nomCleAnimation));
		animations[i]->setRepeated(true);
		animations[i]->setPosition((i % 100) * 3, (i / 100) * 3);
		animations[i]->start();
	}

	return true;
}
Ejemplo n.º 2
0
void VueCarte::ajouterTypeDecors(std::string const& cle,
	int positionTextureX,
	int positionTextureY,
	int tailleTextureX,
	int tailletextureY,
	unsigned int nombreElement)
{
	fme::Vector2f tailleTuile(tailleTextureX, tailletextureY);
	fme::Vector2f coordoneeTexture(positionTextureX, positionTextureY);

	// Ajout de la ressource dans le moteur graphique
	moteurGraphique->addTextureCharacteristics(
		cle, "carte", tailleTuile,
		coordoneeTexture);

	moteurGraphique->addSprite(cle, 0, nombreElement);
}