void Entite_graphique::Initialiser(const coordonnee &pos) { if(m_tileset != NULL) { NextTile(true, true); Generer(); if(configuration->Lumiere) if(m_tileset->getTaille() > 0) { AddWallLight(pos); if(option_forcedLight) { sf::Vector2f position; position.x = pos.x + m_decalage.x; position.y = pos.y + m_decalage.y; m_light = moteurGraphique->LightManager->Add_Dynamic_Light(position,m_tileset->getLumiereDuTile(m_noAnimation).intensite > 0 ? 255 : 0,m_tileset->getLumiereDuTile(m_noAnimation).intensite*3,12, sf::Color(m_tileset->getLumiereDuTile(m_noAnimation).rouge, m_tileset->getLumiereDuTile(m_noAnimation).vert, m_tileset->getLumiereDuTile(m_noAnimation).bleu)); } } } }
Carte::Carte(b2World* world, const sf::Vector2i& taille, float valMoy, float diff, int seed): m_ciel(sf::Vector2f(taille.x, taille.y), 5.f) { m_world=world; m_nodeTerrain = GraphicalEngine::GetInstance()->GetSceneManager()->GetRootNode()->AddSceneNode(); m_itemTerrain = new SceneNodeTextureItem; m_itemDroite = new SceneNodeShapeItem; m_itemGauche = new SceneNodeShapeItem; m_nodeTerrain->AddItem(m_itemTerrain); m_nodeTerrain->AddItem(m_itemDroite); m_nodeTerrain->AddItem(m_itemGauche); m_itemDessousTerrain = new SceneNodeShapeItem; m_nodeTerrain->AddItem(m_itemDessousTerrain); m_destruction = false; m_modified = false; m_tailleZone = 100; Generer(taille, seed, valMoy, diff); }
void Entite_graphique::Animer(float temps) { attaque_touche = false; attaque_stop = false; attaque_pause = false; if(m_tileset != NULL) { float tempsAnimation = m_tileset->getTempsDuTile(m_noAnimation) + m_nextAnimation; m_animation += temps; if(configuration->Lumiere > 0) if(m_old_lightIntensity != m_tileset->getLumiereDuTile(m_noAnimation).intensite && m_tileset->getLumiereDuTile(m_noAnimation).intensite >= 0)// && !option_forcedLight) { float intensite = m_old_lightIntensity; intensite += m_animation/tempsAnimation * (m_tileset->getLumiereDuTile(m_noAnimation).intensite - m_old_lightIntensity); moteurGraphique->LightManager->SetRadius(m_light,(int)intensite*3); if (m_animation >= tempsAnimation) m_old_lightIntensity = m_tileset->getLumiereDuTile(m_noAnimation).intensite; moteurGraphique->LightManager->Generate(m_light); } if (m_tileset->getAnimationTile(m_noAnimation) >=0)//!= m_noAnimation) while (m_animation >= tempsAnimation && tempsAnimation > 0) { //if(m_tileset->getAnimationTile(m_noAnimation) != m_noAnimation) NextTile(); Generer(); m_animation -= tempsAnimation; tempsAnimation = m_tileset->getTempsDuTile(m_noAnimation) + m_nextAnimation; } } }