Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

tomek_4d

unregistriert

1

02.04.2015, 04:18

2 Verständnisfragen zum Quellcode SFML

Hi Leute, ich hab vor kurzem mit dem C++-Programmieren begonnen und wollte mich nun mal an SFML wagen. Ich hab gerade das Tutorial gestartet und sofort mal 2 Verständnisfragen. Die Fragen hab ich in den Quellcode als Kommentar notiert.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <SFML/Graphics.hpp>
int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {//wird die folgende Variable event nachdem der Schleifenrumpf durchlaufen wurde und das Programm wieder zum Schleifenkopf springt automatisch zerstört? jedesmal aufs neue?
        sf::Event event; 
        while (window.pollEvent(event)) // kann man hier nicht einfach eine if-Anweisung nutzen? Ich seh gerade nicht welchen Vorteil die while-Anweisung hier bringen soll.
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;}

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

02.04.2015, 06:35

1) Ja, sie wird zerstört. Effektiv passiert da aber gar nichts, weil der Destruktor nichts ausführt. Falls Du da Performance-Probleme fürchtest, vergiss das ganz schnell wieder. So wie es da steht, ist es sauber und richtig und nicht anders.
2) Eine IF-Anweisung würde eben pro Frame nur ein einziges Event abarbeiten. Es kann aber durchaus vorkommen, dass es viel mehr als nur ein Event pro Frame gegeben hat und die wollen ja alle abgearbeitet werden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

tomek_4d

unregistriert

3

02.04.2015, 13:18

Ah ok...besten Dank BlueCobold :thumbup:

Werbeanzeige