void LevelMainCharacter::load() { setBoundingBox(sf::FloatRect(0.f, 0.f, 30.f, 100.f)); setSpriteOffset(sf::Vector2f(-25.f, -20.f)); Animation walkingAnimation; walkingAnimation.setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); walkingAnimation.addFrame(sf::IntRect(0, 0, 80, 120)); walkingAnimation.addFrame(sf::IntRect(80, 0, 80, 120)); walkingAnimation.addFrame(sf::IntRect(160, 0, 80, 120)); walkingAnimation.addFrame(sf::IntRect(240, 0, 80, 120)); walkingAnimation.addFrame(sf::IntRect(320, 0, 80, 120)); walkingAnimation.addFrame(sf::IntRect(400, 0, 80, 120)); walkingAnimation.addFrame(sf::IntRect(480, 0, 80, 120)); walkingAnimation.addFrame(sf::IntRect(560, 0, 80, 120)); addAnimation(GameObjectState::Walking, walkingAnimation); Animation idleAnimation; idleAnimation.setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); idleAnimation.addFrame(sf::IntRect(640, 0, 80, 120)); addAnimation(GameObjectState::Idle, idleAnimation); Animation jumpingAnimation; jumpingAnimation.setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); jumpingAnimation.addFrame(sf::IntRect(720, 0, 80, 120)); addAnimation(GameObjectState::Jumping, jumpingAnimation); Animation fightingAnimation; fightingAnimation.setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); fightingAnimation.addFrame(sf::IntRect(800, 0, 80, 120)); fightingAnimation.addFrame(sf::IntRect(880, 0, 80, 120)); fightingAnimation.addFrame(sf::IntRect(960, 0, 80, 120)); fightingAnimation.addFrame(sf::IntRect(1040, 0, 80, 120)); fightingAnimation.addFrame(sf::IntRect(1040, 0, 80, 120)); addAnimation(GameObjectState::Fighting, fightingAnimation); Animation deadAnimation; deadAnimation.setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); deadAnimation.addFrame(sf::IntRect(1120, 0, 80, 120)); addAnimation(GameObjectState::Dead, deadAnimation); setFrameTime(sf::seconds(0.07f)); // initial values m_state = GameObjectState::Idle; m_isFacingRight = true; setCurrentAnimation(getAnimation(m_state), !m_isFacingRight); playCurrentAnimation(true); setDebugBoundingBox(sf::Color::White); }
void LightObject::init() { m_sprite.setSize(sf::Vector2f(2.f, 2.f)); m_sprite.setOrigin(1.f, 1.f); // setting the origin to the center m_sprite.setScale(m_bean.radius.x, m_bean.radius.y); m_sprite.setFillColor(sf::Color(255, 255, 255, (sf::Uint8)(255 * m_bean.brightness))); g_resourceManager->getTexture(ResourceID::Texture_Particle_blob)->setSmooth(true); m_sprite.setTexture(g_resourceManager->getTexture(ResourceID::Texture_Particle_blob)); m_animationTimer = static_cast <float> (rand()) / static_cast <float> (RAND_MAX); setBoundingBox(sf::FloatRect(0.f, 0.f, 2.f * m_bean.radius.x, 2.f * m_bean.radius.y)); setPosition(m_bean.center); setDebugBoundingBox(sf::Color(255, 255, 0, 100)); }
void LevelMainCharacter::loadAnimation() { setBoundingBox(sf::FloatRect(0.f, 0.f, 30.f, 90.f)); setSpriteOffset(sf::Vector2f(-25.f, -30.f)); Animation* walkingAnimation = new Animation(); walkingAnimation->setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); for (int i = 0; i < 8; ++i) { walkingAnimation->addFrame(sf::IntRect(i * 80, 0, 80, 120)); } addAnimation(GameObjectState::Walking, walkingAnimation); Animation* idleAnimation = new Animation(); idleAnimation->setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); idleAnimation->addFrame(sf::IntRect(640, 0, 80, 120)); addAnimation(GameObjectState::Idle, idleAnimation); Animation* jumpingAnimation = new Animation(); jumpingAnimation->setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); jumpingAnimation->addFrame(sf::IntRect(720, 0, 80, 120)); addAnimation(GameObjectState::Jumping, jumpingAnimation); Animation* fightingAnimation = new Animation(sf::milliseconds(70)); fightingAnimation->setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); for (int i = 10; i < 14; ++i) { fightingAnimation->addFrame(sf::IntRect(i * 80, 0, 80, 120)); } // duplicate last frame because of level equipment fightingAnimation->addFrame(sf::IntRect(1040, 0, 80, 120)); addAnimation(GameObjectState::Fighting, fightingAnimation); Animation* deadAnimation = new Animation(); deadAnimation->setSpriteSheet(g_resourceManager->getTexture(ResourceID::Texture_mainChar)); deadAnimation->addFrame(sf::IntRect(1120, 0, 80, 120)); addAnimation(GameObjectState::Dead, deadAnimation); // initial values setState(GameObjectState::Idle); playCurrentAnimation(true); setDebugBoundingBox(COLOR_WHITE); }