Silnik do tworzenia gry 2d
Ostatnio zmodyfikowano 2013-12-15 23:55
dawid Temat założony przez niniejszego użytkownika |
» 2013-12-15 17:18:53 No i z takim rozszerzeniem zapisuję. Więc nie wiem o co chodzi nadal. |
|
MrPoxipol |
» 2013-12-15 17:20:23 Wykonałeś wszystko tak jak jest to w tutorialu na oficjalnej stronie (albo nawet tutaj)? Bo mi się wydaje, że nie. No i z takim rozszerzeniem zapisuję. |
Ale czy dodajesz do projektu? |
|
pekfos |
» 2013-12-15 17:20:58 C:\Users\Dawid\Desktop\C++\aaaa\aaaaa.c |
|
|
dawid Temat założony przez niniejszego użytkownika |
» 2013-12-15 17:56:46 Zmieniłem na .cpp i teraz mam takie coś: -------------- Build: Debug in Gra (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -Wall -g -DSFML_STATIC -IC:\Users\Dawid\Desktop\SFML-2.1\include -IC:\Users\Dawid\Desktop\SFML-2.1\include -c C:\Users\Dawid\Desktop\C++\Gra\main.cpp -o obj\Debug\main.o C:\Users\Dawid\Desktop\C++\Gra\main.cpp: In function `int main()': C:\Users\Dawid\Desktop\C++\Gra\main.cpp:10: error: 'class sf::Image' has no member named 'LoadFromFile' C:\Users\Dawid\Desktop\C++\Gra\main.cpp:12: error: no matching function for call to `sf::Sprite::Sprite(sf::Image&)' C:/Users/Dawid/Desktop/SFML-2.1/include/SFML/Graphics/Sprite.hpp:48: note: candidates are: sf::Sprite::Sprite(const sf::Sprite&) C:/Users/Dawid/Desktop/SFML-2.1/include/SFML/Graphics/Sprite.hpp:78: note: sf::Sprite::Sprite(const sf::Texture&, const sf::IntRect&) C:/Users/Dawid/Desktop/SFML-2.1/include/SFML/Graphics/Sprite.hpp:67: note: sf::Sprite::Sprite(const sf::Texture&) C:/Users/Dawid/Desktop/SFML-2.1/include/SFML/Graphics/Sprite.hpp:57: note: sf::Sprite::Sprite() C:\Users\Dawid\Desktop\C++\Gra\main.cpp:15: error: 'class sf::RenderWindow' has no member named 'IsOpened' C:\Users\Dawid\Desktop\C++\Gra\main.cpp:19: error: 'class sf::RenderWindow' has no member named 'GetEvent' C:\Users\Dawid\Desktop\C++\Gra\main.cpp:22: error: 'class sf::Event' has no member named 'Type' C:\Users\Dawid\Desktop\C++\Gra\main.cpp:23: error: 'class sf::RenderWindow' has no member named 'Close' C:\Users\Dawid\Desktop\C++\Gra\main.cpp:27: error: 'class sf::RenderWindow' has no member named 'Clear' C:\Users\Dawid\Desktop\C++\Gra\main.cpp:30: error: 'class sf::RenderWindow' has no member named 'Draw' C:\Users\Dawid\Desktop\C++\Gra\main.cpp:33: error: 'class sf::RenderWindow' has no member named 'Display' Process terminated with status 1 (0 minutes, 0 seconds) 9 errors, 0 warnings (0 minutes, 0 seconds)
Otwiera mi się teraz plik main.cpp #include <SFML/Graphics.hpp>
int main() { sf::RenderWindow App( sf::VideoMode( 800, 600 ), "SFML window" ); sf::Image Image; if( !Image.LoadFromFile( "cb.bmp" ) ) return EXIT_FAILURE; sf::Sprite Sprite( Image ); while( App.IsOpened() ) { sf::Event Event; while( App.GetEvent( Event ) ) { if( Event.Type == sf::Event::Closed ) App.Close(); } App.Clear(); App.Draw( Sprite ); App.Display(); } return EXIT_SUCCESS; }
Kod testowy: #include <SFML/Window.hpp>
int main() { sf::Window oknoAplikacji( sf::VideoMode( 800, 600, 32 ), "Kurs SFML 2.0 - http://cpp0x.pl" ); while( oknoAplikacji.isOpen() ) { oknoAplikacji.display(); } return 0; }
|
|
pekfos |
» 2013-12-15 18:04:21 To kod w SFMLu 1.6, a nie 2.1. |
|
bingo009 |
» 2013-12-15 18:06:47 Upewnij się, że napewno poprawnie(zgodnie z poradnikiem na stronie SFML) ustawiłeś opcje projektu w CodeBlocks. Z doświadczenia powiem ci też, że SFML pod MinGW(kompilator domyślny CodeBlocks) najlepiej jest samemu kompilować - sam kiedyś miałem problemy i okazało się, że SFML było kompilowane na innej wersji niż ta, którą ja posiadam. Kompilacja nie jest trudna i sprowadza się do paru kliknięć i wpisania jednego polecenia w konsoli. Na stronie SFML masz obszerny i prosty poradnik jak to zrobić. |
|
DejaVu |
» 2013-12-15 20:10:17 Błędy kompilacji dotyczą kodu źródłowego SFML-a 1.6, logi dotyczą SFML-a 2.1 i podajesz jeszcze dwa różne kody źródłowe do jednego logu kompilacji. Jak mamy poważnie traktować Twój problem, to zacznij go precyzyjnie opisywać. |
|
bingo009 |
» 2013-12-15 23:55:15 #include <SFML/Graphics.hpp>
using namespace sf;
int main() { RenderWindow okno( VideoMode( 200, 200 ), "Test" ); while( okno.isOpen() ) { Event event; while( okno.pollEvent( event ) ) { if( event.type == Event::Closed ) okno.close(); } okno.clear(); okno.display(); } return 0; }
Sprawdź ten kod. Na przyszłość: tak ciężko przeczytać i skopiować prosty kod z tutoriali na stronie SFML? Są po angielsku, ale pisane bardzo prostym językiem i jak nie znasz angielskiego, to nie masz co programować - dokumentacje i wszystkie ważne materiały są głównie po angielsku. Edit: Teraz skopiuj, popełniłem mały błąd w poprzednim. |
|
1 « 2 » |