Animated::Animated(const Animation* animation, sf::Sprite& sprite)
{
	animation_ = animation;
	timer_ = animation_->GetDelay();
	frame_ = 0;
	sprite.SetSubRect(animation_->GetFrame(0));
}
Beispiel #2
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;
}
Beispiel #3
0
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);
}
Beispiel #4
0
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);
}