ďťż
  Nasze własne Mario - kilka uwag



Marcin Milewski - 14 gru 2009, o 11:15
" />Artykułem o tworzeniu okna i animacji sprite'ów rozpoczął się cykl, kŧórego efektem będzie stworzenie gry platformowej w stylu Mario.

Jeśli macie jakieś pomysły bądź komentarze, to piszcie! Wszystkie uwagi mile widziane




Michał Krawczak - 9 sty 2010, o 13:18
" />Witam, na początku chciałbym korzystając z okazji pogratulować Autorowi świetnego poradnika -- dla mnie rewelacja.

Dzisiaj ściągnąłem źródło gry z drugiego poradnika i kompletnie nie chciało ruszyć. Miałem trochę przejść, ale po półgodzinnym wywiadzie z Google udało mi się to skompilować. No i uznałem, że powinienem się podzielić swoimi doświadczeniami.

I tak, aby kod zadziałał na Dev-Cpp 4.9.9.2 (bo takiego używam), trzeba:
    l Załączyć plik <windows.h> w main.cpp. ll Zmienić funkcję




Marcin Milewski - 10 sty 2010, o 01:53
" />Dzięki Ciesze się, że udało Ci się odpalić kod. Choć Twoje rozwiązanie jest oczywiście poprawne, to chciałbym zaproponować nieco inne podając przy okazji instrukcję krok-po-kroku jak odpalić grę na Windowsie korzystając ze środowiska Dev-C++.

l Ściągamy potrzebne biblioteki
l SDL z http://www.libsdl.org/download-1.2.php, link: SDL-devel-1.2.14-mingw32.tar.gz (Mingw32)
l
l boost z http://sourceforge.net/projects/boost/files/boost/1.41.0/, plik boost_1_41_0.zip
l
l
l Rozpakowujemy biblioteki w wygodne dla nas miejsce. (ja zrobiłem to do katalogu D:\libs\ )
l
l W środowisku ustawiamy Linker Directories i Include Directories na odpowiednie katalogi :
Includes: D:\libs\boost_1_41_0 oraz D:\libs\SDL-1.2.14\include
Libs: D:\libs\boost_1_41_0\libs oraz D:\libs\SDL-1.2.14\lib
l
l Do parametrów linkera dodajemy:
-lmingw32 -lSDLmain -lSDL -mwindows -lopengl32
patrz: SDL FAQ for Windows.
l
l Plik SDL.dll (z katalogu biblioteki SDL) kopiujemy w odpowiednie miejsce (np. do katalogu z grą lub katalogu systemowego)
l
l Zamiast dołączać <GL/gl.h> należy skorzystać z <SDL/SDL_opengl.h> (odpowiednie zmiany wrzuciłem już na serwer, więc ten krok jest tylko w celach informacyjnych)
l
l W pliku main.cpp trzeba zmienić nagłówek funkcji main na pełny, żeby czary-mary zadziałało:




Dominik D. - 15 sty 2010, o 21:33
" />Nie chcę się wdawać w wojny IDE, ale jaki jest sens opisywania współpracy z IDE, które nie jest od 4 lat rozwijane (DevC++), skoro istnieją rozwijane i znacznie mniej zabugowane alternatywy? (Visual Studio, a dla hejterów MS Code::Blocks)




Dawid Klimek - 2 lut 2010, o 20:19
" />Witam pisze z zapytaniem jak odpalić i skompilować materiały zawarte w powyższym tutorialu w VC++ 2008. Dolinkowałem wszystkie biblioteki SDL i boost, mam nadzieje, że dobrze, ale podczas kompilacji wywala mi mase błędów związanych z OpenGL, chyba przez brak bibliotek. Wyczytałem, że w sumie mam wszystkie biblioteki, no i je mam ponieważ mogę w nich pokopać w potrzebie naprawy błędu, ale tak na prawdę nie wiem o co chodzi skoro w Dev-C++ wszystko działa, więc moja prośba jest o pomoc skonfigurowania tego wszystkie pod VC++, jeśli to nie kłopot



Marcin Milewski - 2 lut 2010, o 21:07
" />



Mateusz Scislowski - 6 lut 2010, o 20:32
" />Witam

Również mam problem z kompilacja w VC. Nie mam pojecia co robie zle, juz przy pierwszej animacji mi wywala jakies bledy dziwne.
Jak ktos mial by troche czasu i checi zeby pomoc moj projekt umiescilem na http://www.sendspace.pl/file/016e8c7e95cc3fb2861293d
a bledy wyskakuja mi typu:

Error 1 error C2061: syntax error : identifier '{ctor}' c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 19
Error 2 error C2660: 'boost::shared_ptr<T>::reset' : function does not take 1 arguments c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 19
Error 3 error C2061: syntax error : identifier '{ctor}' c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 20
Error 4 error C2660: 'boost::shared_ptr<T>::reset' : function does not take 1 arguments c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 20
Error 6 error C2061: syntax error : identifier '{ctor}' c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 19
Error 7 error C2660: 'boost::shared_ptr<T>::reset' : function does not take 1 arguments c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 19
Error 8 error C2061: syntax error : identifier '{ctor}' c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 20
Error 9 error C2660: 'boost::shared_ptr<T>::reset' : function does not take 1 arguments c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 20
Error 10 error C2061: syntax error : identifier '{ctor}' c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 19
Error 11 error C2660: 'boost::shared_ptr<T>::reset' : function does not take 1 arguments c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 19
Error 12 error C2061: syntax error : identifier '{ctor}' c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 20
Error 13 error C2660: 'boost::shared_ptr<T>::reset' : function does not take 1 arguments c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\engine.h 20
Warning 5 warning C4305: 'argument' : truncation from 'double' to 'GLclampf' c:\documents and settings\scisek\pulpit\kod_poczatkowy\gra\gra\app.cpp 51



Marcin Milewski - 6 lut 2010, o 20:53
" />



Mateusz Scislowski - 6 lut 2010, o 21:43
" />kod pobralem z http://informatyka.wroc.pl/node/474
poprawilem co trzeba, ale nadal wywala mi te same bledy w 19 i 20 linijce engine.h



Marcin Milewski - 6 lut 2010, o 22:22
" />A czy taki kod się u Ciebie kompiluje:




Mateusz Scislowski - 6 lut 2010, o 22:32
" />nie, tez wywala ten sam blad:
Error 1 error C2061: syntax error : identifier '{ctor}' c:\documents and settings\scisek\pulpit\01_final(2)\01\test boost\test boost\mai.cpp 12
Error 2 error C2660: 'boost::shared_ptr<T>::reset' : function does not take 1 arguments c:\documents and settings\scisek\pulpit\01_final(2)\01\test boost\test boost\mai.cpp 12



Marcin Milewski - 6 lut 2010, o 22:50
" />Pierwszego nie rozumiem, a drugi jest dziwny. To może tak:




Mateusz Scislowski - 6 lut 2010, o 23:06
" />przy



Marcin Milewski - 6 lut 2010, o 23:07
" />nie linkuj sdla, albo zmień maina na :




Mateusz Scislowski - 6 lut 2010, o 23:17
" />teraz cos takiego:
Error 1 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup MSVCRT.lib
Error 2 fatal error LNK1120: 1 unresolved externals C:\Documents and Settings\scisek\Pulpit\01_final

wersja p = FooPtr(new Foo::Foo()) bez zmian



Marcin Milewski - 6 lut 2010, o 23:23
" />Zdaje się, że wybrałeś pierwszy wariant (nielinkowanie SDLa), prawda? Drugi byłby lepszy, żeby potem móc w grze korzystać z SDLa.



Mateusz Scislowski - 6 lut 2010, o 23:36
" />przy samej zmianie maina nic sie nie zmienilo wiec sprobowalem nie linkowac sdla. Czyli cos mam zle?



Marcin Milewski - 6 lut 2010, o 23:41
" />



Mateusz Scislowski - 6 lut 2010, o 23:50
" />tak, linkuje oba. Sam SDL dziala dobrze, tylko przy tym shared_ptr cos sie zaczyna sypac



Marcin Milewski - 6 lut 2010, o 23:59
" />



Łukasz Barć - 8 lut 2010, o 17:49
" />potwierdzam, rowniez mam problem z tymi wskaznikami z boosta




Łukasz Milewski - 21 lut 2010, o 11:55
" />Skompilujcie taki kod




Marcin Milewski - 30 mar 2010, o 22:18
" />



David ziętek - 16 kwi 2010, o 17:20
" />Czy moze mi ktos powiedziec ew pokazac jak poradzic sobie z tym na visualu? chodzi o to ze wywala mi bledy ze niemoze znalesc biblioteki <SDL/SDL.h>



Marcin Milewski - 16 kwi 2010, o 19:39
" />



David ziętek - 18 kwi 2010, o 15:50
" />Kiedy można się spodziewać publikacji kolejnego artykułu?



Dawid Kulpa - 7 wrz 2010, o 06:02
" />Witam, mam problem. Otóż pobrałem kod z ostatniego artykułu i kiedy skompiluję grę,automatycznie się uruchamia a w konsoli wyświetla się taki błąd:
Unkown music 'menu'
A kiedy nacisnę w menu przycisk Nowa gra i wybiorę poziom, vc++
wywala błąd: Microsoft Visual C++ Debug Library
Debug Error
(...)
A w konsoli wyświetlają się takie błędy:
Nie udało się załadować pliku data/1.lvl
Nie udało się załadować pliku data/1.lvl
Nie udało się załadować pliku data/1.ents
brak informacji o postaci gracza w pliku z poziomem
Unkown music 'game'
Assertion failed: px != 0, file c:\documents and settings\zapalka\pulpit\gra\externals\boost_1_42_0\boost\smart_ptr\shared_ptr.hpp, line 418

I nie mam pojęcia jak ten problem rozwiązać.
Dodam jeszcze, że tak się dzieje tylko jeżeli włączam grę przez kompilator. Gdy wchodzę do katalogu z grą i włączam ją przez plik exe to normalnie działa.



Marcin Milewski - 7 wrz 2010, o 21:55
" />Jakie pliki masz w katalogu data? Tam powinny być wszystkie które nie zostały znalezione. Z tego co się zorientowałem to masz tam pewnie niewiele ponad plik tex.bmp.
Możesz:

    l skopiować folder data do katalogu Debug (pewnie także do Release i katalogu projektu, więc to takie sobie rozwiązanie)ll ustawić working dir na katalog z katalogiem data. W menu: project -> magame properties -> config. properties -> debugging -> working directory. Ja ustawiłem na wartość C:\Documents and Settings\marcin\My Documents\09_final_vc\magame\source O ile dobrze pamiętam, to nie można tego zrobić jako ogólną opcję, bo VC zapisuje to w pliku działającym tylko dla lokalnego usera :/l

pzdr
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • albionteam.htw.pl
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • cichooo.htw.pl