コード例 #1
0
bool Update(float dt){dt;
	if (isEditingSpaceship){
		editor.Update();

		if (editor.IsExited() || editor.IsSpaceshipReady()){
			isEditingSpaceship = false;

			if (editor.IsSpaceshipReady()){
		//		ship = editor.GetSpaceship();
			}

			editor.Reset();
		}
	}
	else{
		if(!isMainMenu && !isControls){
			lvl.Update(dt);
			manager->Update(false, 0.0f, Vector2(), dt);

			if (lvl.IsWin() || lvl.IsGameOver()){
				isMainMenu = true;
			}
		}
		else if (isControls){
			isControls = Controls::Update();
			if (!isControls){
				isMainMenu = true;
			}
		}
		else{
			menu.Update(dt);
			UpdateGameState();
		}
	}

	if (Input::IsPressed('O')){
		isEditingSpaceship = true;
	}

	bool requestedExit = (Input::IsPressed(Input::KEY_ESCAPE));
	if (requestedExit){
		profiler.WriteToFile();
		END_LOG
	}

	return requestedExit;
}
コード例 #2
0
ファイル: GameState.cpp プロジェクト: bobn94/summerproject
bool GameStateA::Update(float deltatime, sf::RenderWindow &m_window, Level& level)
{
	sf::Event event;
	while (m_window.pollEvent(event))
	{
		if (event.type == sf::Event::Closed)
		{
			m_window.close();
			return false;
		}

		if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
		{
			m_window.close();
			return false;

		}

	}

	if (m_first_run)
	{
		
		m_first_run = false;
	}
	
	

	
	m_window.clear(sf::Color(104, 50, 3, 0));
	if(level.Update(m_window, deltatime)){
		m_next_state = "CombatState";
		m_continue = false;
	}
	m_window.display();

	return m_continue;
};
コード例 #3
0
ファイル: main.cpp プロジェクト: esenti/labshooter
int main()
{
    srand(time(0));
    sf::ContextSettings settings;
    settings.antialiasingLevel = 8;

    // create the window
    sf::RenderWindow window(sf::VideoMode(928, 448), "Labshooter", sf::Style::Default, settings);

    sf::Clock clock;

    sf::Texture playerTexture;
    playerTexture.loadFromFile("assets/player.png");

    sf::Texture tileTexture;
    tileTexture.loadFromFile("assets/tile.png");

    sf::Sprite playerSprite;
    playerSprite.setTexture(playerTexture);

    sf::Sprite tileSprite;
    tileSprite.setTexture(tileTexture);

    SoundManager::LoadSound("shoot", "assets/shoot.wav");
    SoundManager::LoadSound("shoot2", "assets/shoot2.wav");
    SoundManager::LoadSound("hurt", "assets/hurt.wav");

    level.LoadLevel("assets/level1");

    // run the program as long as the window is open
    while (window.isOpen())
    {
        sf::Time elapsed = clock.restart();

        // check all the window's events that were triggered since the last iteration of the loop
        sf::Event event;
        while (window.pollEvent(event))
        {
            // "close requested" event: we close the window
            if (event.type == sf::Event::Closed)
                window.close();
        }
        level.Update(elapsed.asMilliseconds());
        /*if(sf::Keyboard::isKeyPressed(sf::Keyboard::D)) {
            move(0.5 * elapsed.asMilliseconds(), 0, playerSprite, tileSprite);
        }
        if(sf::Keyboard::isKeyPressed(sf::Keyboard::A)) {
            move(-0.5 * elapsed.asMilliseconds(), 0, playerSprite, tileSprite);
        }
        if(sf::Keyboard::isKeyPressed(sf::Keyboard::W)) {
            move(0, -0.5 * elapsed.asMilliseconds(), playerSprite, tileSprite);
        }
        if(sf::Keyboard::isKeyPressed(sf::Keyboard::S)) {
            move(0, 0.5 * elapsed.asMilliseconds(), playerSprite, tileSprite);
        }*/

        tileSprite.setPosition(50, 50);

        // clear the window with black color
        window.clear(sf::Color::White);

        // draw everything here...
        //window.draw(playerSprite);
        //window.draw(tileSprite);
        level.Render(&window);

        // end the current frame
        window.display();
    }

    return 0;
}