• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SFML Xcode - Nic się nie wyświetla.

Object Storage Arubacloud
0 głosów
191 wizyt
pytanie zadane 22 grudnia 2018 w C i C++ przez Wiktor Panecki Użytkownik (920 p.)

Witam, mam problem ( inaczej by mnie tu nie było ;) ) gdy tworzę nowy projekt SFML to działa, ale jak stworzę okno gry w klasie to nie działa nic, znaczy wyświetla się nazwa okna i rozdzielczość ale nic w oknie nawet kolor okna ( sf::Color::Red ), CO jest nie tak.

#include "Entity.hpp"

void Entity::SetTexture(){
    
    //textura gracza
    
    PlayerTexture.loadFromFile("/Users/OPT-s/Desktop/Dev/Sprites/FreeZe-Player.png");
    PlayerSprite.setTexture(PlayerTexture);
    
    PlayerSprite.setOrigin(800, 800);
    
    PlayerSprite.setScale(0.08, 0.08);
    
    //Textura drzewa
    
    TreeTexture.loadFromFile("/Users/OPT-s/Desktop/Dev/Sprites/Tree.png");
    TreeSprite.setTexture(TreeTexture);
    
    TreeSprite.setOrigin(800, 800);
    
    TreeSprite.setScale(0.16, 0.16);
    
    //textura podłoża
    
    SnowTexture.loadFromFile("/Users/OPT-s/Desktop/Dev/Sprites/SnowMap.png");
    SnowSprite.setTexture(SnowTexture);
    
    PlayerSprite.setOrigin(800, 800);
    
    PlayerSprite.setScale(0.08, 0.08);
}

void Entity::NewWindow(){
    Window = new sf::RenderWindow(sf::VideoMode(1280, 720), "FreeZe");
    
    Window -> setFramerateLimit(60);
    
    sf::Image icon;
    icon.loadFromFile("OPT-s Logo.png");
    
    //v.setCenter(PlayerSprite.getPosition().x, PlayerSprite.getPosition().y);
    //v.setSize(1280, 720);
    
    //Window -> setIcon(icon.getSize().x, icon.getSize().y, icon.getPixelsPtr());
    
    while (Window -> isOpen())
    {
        
        sf::Event event;
        while (Window -> pollEvent(event))
        {
            
            if (event.type == sf::Event::Closed) {
                Window -> close();
            }
            
            if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape) {
                Window -> close();
            }
        }
    }
    
    SetTexture();
    
    Window->clear(sf::Color::Red);
    Window->draw(PlayerSprite);
    //Window->setView(v);
    Window->display();
        
};

 

1 odpowiedź

0 głosów
odpowiedź 23 grudnia 2018 przez Munvik Dyskutant (9,350 p.)
wybrane 23 grudnia 2018 przez Wiktor Panecki
 
Najlepsza
SetTexture();
     
    Window->clear(sf::Color::Red);
    Window->draw(PlayerSprite);
    //Window->setView(v);
    Window->display();

Masz poza pętlą gry.

Korzystaj z debuggera

komentarz 23 grudnia 2018 przez Wiktor Panecki Użytkownik (920 p.)
W tym problem że debugger nie wyświetla mi błędu... Tylko ostrzeżenie o <math.h>. Ale ThX za pomoc działa ;)
komentarz 23 grudnia 2018 przez Munvik Dyskutant (9,350 p.)

Debugger to co innego, niż wyjście kompilacji. 

Debugerem możesz sprawdzić, czy konkretne linijki kodu się wykonały. W tym przypadku te linijki, które wyżej podałem. Debugger pozwala na wiele więcej. Stopniowo radziłbym się do niego przyzwyczajać bo jest bezcenny laugh

 

Podobne pytania

0 głosów
2 odpowiedzi 211 wizyt
pytanie zadane 18 kwietnia 2018 w C i C++ przez Emil Panecki Bywalec (2,100 p.)
0 głosów
0 odpowiedzi 232 wizyt
pytanie zadane 7 kwietnia 2018 w C i C++ przez Emil Panecki Bywalec (2,100 p.)
0 głosów
0 odpowiedzi 256 wizyt
pytanie zadane 26 października 2016 w C i C++ przez neos Początkujący (320 p.)

92,572 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...