Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

Otwarcie nowego okna gry , po kliknięciu "Play" - SFML

$
0
0

Witam , problem jest następujący:  Stworzyłem menu w SFML , opcje wyboru działają ( wyświetla się w konsoli napis:   " Opcja została wybrana " ) , lecz nie wiem jak zrobić , aby po kliknięciu w "Play" otwierało się nowe okno z grą .

#include <SFML/Graphics.hpp>
#include <iostream>
#include "menu.h"
int main()
{
    sf::RenderWindow oknoAplikacji(sf::VideoMode(600 , 600) , "Okno_Menu" , sf::Style::Fullscreen);

    Menu menu(oknoAplikacji.getSize().x, oknoAplikacji.getSize().y);

    sf::Sprite tlo;

    sf::Texture tekstura;

    if (!tekstura.loadFromFile("air-hockey.png"))
    {
        std::cout << "Bład"<< std::endl;
    }

    tlo.setTexture(tekstura);


   sf::Font czcionka;
    if(!czcionka.loadFromFile("Mecha.ttf"))
    {
        std::cout << "Blad"<< std::endl;
    }

    sf::Text tekst;
    tekst.setFont(czcionka);
    tekst.setString("Air Hockey");
    tekst.setCharacterSize(100);
    tekst.setColor(sf::Color::White);
    tekst.setPosition(780 , 100);

    while(oknoAplikacji.isOpen()) // dopoki okno jest otwarte
    {
        sf::Event zdarzenie;

        while(oknoAplikacji.pollEvent(zdarzenie)) // dopoki w "magazynie zdarzen" znajduje sie jakies zdarzenie
        {
            switch(zdarzenie.type)
            {
            case sf::Event::KeyReleased:
                switch(zdarzenie.key.code)
                {
                case sf::Keyboard::Up:
                    menu.gora();
                    break;

                case sf::Keyboard::Down:
                    menu.dol();
                    break;

                case sf::Keyboard::Return:
                    switch (menu.wybranaopcja())
                    {
                    case 0:
                        std::cout << "Klawisz Play zostal wybrany"<< std::endl;
                        ( W tym miejscu chciałbym aby otwierało się nowe okno z grą ) 
                        break;
                         
                    case 1:
                        std::cout << "Klawisz Settings zosal wybrany"<< std::endl;
                        break;
                    case 2:
                        oknoAplikacji.close();
                        break;
                    }
                }break;

            case sf::Event::Closed:
                oknoAplikacji.close();
                break;

            case sf::Event::Resized:
                sf::FloatRect visibleArea(0 , 0 , zdarzenie.size.width , zdarzenie.size.height);
                oknoAplikacji.setView(sf::View(visibleArea));
                break;
            }
        }
        oknoAplikacji.clear();
        oknoAplikacji.draw(tlo);
        menu.draw(oknoAplikacji);
        oknoAplikacji.draw(tekst);
        oknoAplikacji.display(); // wyswietlamy ekran
    }
    return 0;
}

Czy zna ktoś jakieś rozwiązanie ? // W razie potrzeby załączę pozostały kod z pliku menu.cpp i menu.h


Viewing all articles
Browse latest Browse all 65225

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>