bool CreditScene::init() { Graphics::getInstance()->fadeIn(0.6f); _isInit = true; auto playerInput = Factory::get()->loadEntityFromFile("playerInput"); playerInput->init(); Scene::setPlayerInput(playerInput); _credits = Factory::get()->loadEntityFromFile("credits"); _credits->init(); auto PosCmp = _credits->GET_CMP(PositionComponent); PosCmp->setPosition(Graphics::getInstance()->getScreenSize().cast<float>() * 0.5); auto SpCmp = _credits->GET_CMP(SpriteCmp); // 1.5 1.5 looks good SpCmp->rescale(2.0f, 2.0f); Eigen::Vector2f pos = Graphics::getInstance()->getScreenSize().cast<float>() * 0.75; pos.x() = Graphics::getInstance()->getScreenSize().cast<float>().x() * 0.88; Entity* returnButton = Factory::get()->loadEntityFromFile("buttonBack"); returnButton->init(); std::function<void()> optionFunc = [this](){ free(); Director::get()->pushScene(new MenuScene()); }; returnButton->GET_CMP(ButtonCmp)->setCallback(optionFunc); PositionComponent* posCmp = returnButton->GET_CMP(PositionComponent); pos.y() += 200.0f; posCmp->setPosition(pos); _buttons.push_back(returnButton); _cursor = _buttons.begin(); _brighter(); return _isInit; }