|
|
|
|
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) ll boost z http://sourceforge.net/projects/boost/files/boost/1.41.0/, plik boost_1_41_0.zip lll Rozpakowujemy biblioteki w wygodne dla nas miejsce. (ja zrobiłem to do katalogu D:\libs\ ) ll 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 ll Do parametrów linkera dodajemy: -lmingw32 -lSDLmain -lSDL -mwindows -lopengl32 patrz: SDL FAQ for Windows. ll Plik SDL.dll (z katalogu biblioteki SDL) kopiujemy w odpowiednie miejsce (np. do katalogu z grą lub katalogu systemowego) ll 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) ll 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.pldoc.pisz.plpdf.pisz.plalbionteam.htw.pl
zanotowane.pldoc.pisz.plpdf.pisz.plcichooo.htw.pl
|
|
|
|