Animated::Animated(const Animation* animation, sf::Sprite& sprite) { animation_ = animation; timer_ = animation_->GetDelay(); frame_ = 0; sprite.SetSubRect(animation_->GetFrame(0)); }
void ImageManager::GetSpriteTiles(sf::Sprite &sprite, int tile, int modeSelection) { if(modeSelection == MAP) { sprite.SetImage(m_tilsetMap); sprite.SetSubRect(sf::IntRect(TILE_WIDTH*tile, 0, TILE_WIDTH*(tile+1), TILE_HEIGHT)); } else if(modeSelection == WORLD) { sprite.SetImage(m_tilsetWorld); sprite.SetSubRect(sf::IntRect(TILE_WIDTH*tile, 0, TILE_WIDTH*(tile+1), TILE_HEIGHT)); } else std::cerr << "erreur fonction ImageManager.GetSpriteTiles appelée avec modeSelection != MAP et modeSelection != WORLD" << std::endl; }
cHero::cHero(sf::Sprite & rHeroSprite) { rHeroSprite.SetSubRect(sf::IntRect(4, 4, 67, 67)); rHeroSprite.SetCenter(0, 64); rHeroSprite.SetX(600); rHeroSprite.SetY(762); setWidth(64); setHeight(64); }
void ImageManager::GetSpriteEnemy(sf::Sprite &sprite, int whichEnemy) { if(whichEnemy == ENEMY1) { sprite.SetImage(m_enemy1); sprite.SetSubRect(sf::IntRect(1, 1, sprite.GetSize().x-1, sprite.GetSize().y-1));//To do avec le charset } else std::cerr << "erreur fonction ImageManager.GetSpriteEnemy appelée avec whichEnemy = " << whichEnemy << std::endl; }
void Animated::Update(float frametime, sf::Sprite& sprite) { timer_ -= frametime; if (timer_ <= 0) { timer_ = animation_->GetDelay(); frame_ = (frame_ + 1) % animation_->GetSize(); sprite.SetSubRect(animation_->GetFrame(frame_)); } }
void Tileset::MakeSprite(int tile_id, sf::Sprite& sprite) { assert(tile_id < COUNT); sprite.SetImage(GET_IMG("tileset")); // on calcule le subrect de la tile grâce à son id // (la tile première tile haut-gauche du tileset a l'id 0) sf::IntRect rect; rect.Left = (tile_id % WIDTH) * Tile::SIZE; rect.Right = rect.Left + Tile::SIZE; rect.Top = (tile_id / WIDTH) * Tile::SIZE; rect.Bottom = rect.Top + Tile::SIZE; sprite.SetSubRect(rect); }