Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 2.6] Pierwsze kroki

Ostatnio zmodyfikowano 2025-06-23 10:43
Autor Wiadomość
wojownik266
Temat założony przez niniejszego użytkownika
[SFML 2.6] Pierwsze kroki
» 2025-06-22 17:50:20
Dosłownie przed paroma chwilami wyprodukowałem poniższy kod w ramach codziennych ćwiczeń programistycznych. I w związku z tym mam do Was prośbę o uruchomienie tego programu (piszę w linux mint) jak i ocenie i udzieleniu cennych rad na przyszłość.

C/C++
#include <SFML/Graphics.hpp>
#include <SFML/Window/Window.hpp>

using namespace sf;

class Moja_klasa
    : public Window
{
private:
   
RenderWindow window;
   
public:
   
int pokaz_okno( int szer_x, int wys_y );
   
int petla_while();
   
int rysuj_na_ekranie();
};

int Moja_klasa::pokaz_okno( int szer_x, int wys_y )
{
   
window.create( VideoMode( szer_x, wys_y ), "SFML_Dziedziczenie" ); //Tworzy okno programu
   
   
return 0;
}
int Moja_klasa::petla_while()
{
   
while( window.isOpen() )
   
{
       
Event event;
       
while( window.pollEvent( event ) )
       
{
           
if( event.type == Event::Closed )
               
 window.close();
           
       
}
       
       
    }
   
   
return 0;
}
int Moja_klasa::rysuj_na_ekranie()
{
   
window.clear();
   
window.display();
   
   
return 0;
}
int main()
{
   
Moja_klasa mk;
   
mk.pokaz_okno( 800, 600 ); //Tworzy głowne okno gry
   
   
mk.petla_while(); //Start gry, głowna petla programu
   
mk.rysuj_na_ekranie();
   
   
   
   
return EXIT_SUCCESS;
}
P-182579
nanoant20
» 2025-06-22 20:03:07
C/C++
int main()
{
   
Moja_klasa mk;
   
mk.pokaz_okno( 800, 600 ); //Tworzy głowne okno gry
   
   
mk.petla_while(); //Start gry, głowna petla programu
   
mk.rysuj_na_ekranie();
   
   
return EXIT_SUCCESS;
}

mk.rysuj_na_ekranie();
 funkcja ta nigdy nie zostanie wykonana. powinna być wywoływana w każdej iteracji pętli
while( window.isOpen() )

P-182580
wojownik266
Temat założony przez niniejszego użytkownika
» 2025-06-22 21:27:26
A gdybym tą funkcję "mk.rysuj_na_ekranie" wkleił do funkcji z pętlą to...będzie działać? Albo gdybym z tych dwóch funkcji zrobił jedną to... będzie działać? Dziękuję  i czekam na odpowiedź.
P-182581
nanoant20
» 2025-06-23 08:23:20
Jeżeli korzystasz z SFML-2.6.X wjedż na stronę : https://www.sfml-dev.org/tutorials/2.6/start-cb.php
na samym dole masz przykład jak wygląda szablon tworzenie okna SFML. Dokonaj analizy budowy pętli głównej programu, a następnie dokonaj zmiany w swoim przykładzie.

Jeżeli używasz SFML-3.0.X to przykład budowy okna SFML masz tutaj https://www.sfml-dev.org/tutorials/3.0/getting-started/code-blocks/#creating-and-configuring-an-sfml-project


Korzystaj też z https://chatgpt.com/
Jest to Mega Potężne Narzędzie , które jest bardzo pomocne w nauce. Dostroi się do Twoich indywidualnych potrzeb, tempa i stylu uczenia się. Taki osobisty guru dostępny 24/7  
P-182583
wojownik266
Temat założony przez niniejszego użytkownika
» 2025-06-23 10:43:48
Ten szablon o którym wspominasz jest mi bardzo dobrze znany. Na jego podstawie powstał ten kod który zamieściłem nieco wyżej.  Co prawda zawiera błędy ,  ale świetnie się sprawdza jako ćwiczenie.  No bo jest tak, że uczę się jeszcze języka c++ i jestem na etapie nauki (a raczej powtarzania), dziedziczenia i to co napisałem to pierwsza próba ogarnięcia tego problemu. A że przy użyciu Sfml to już inna historia. A co do chatgpt  to bardzo przypadliśmy sobie do gustu a to dzięki Tobie. Tak że dziękuję za odpowiedzi i życzę miłego dnia. Jak by co to jeszcze się odezwę.
P-182584
« 1 »
  Strona 1 z 1