Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 46 ]  Przejdź na stronę 1, 2, 3, 4, 5  Następna strona
Nasze własne Mario - kilka uwag 
Autor Wiadomość
Avatar użytkownika

Dołączył(a): 23 lis 2009, o 22:03
Posty: 20
Lokalizacja: Wrocław
Post Nasze własne Mario
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 ;-)


14 gru 2009, o 12:15
Zobacz profil
Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 23 lis 2009, o 13:48
Posty: 39
Post Nasze własne Mario - kilka uwag
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. :P

I tak, aby kod zadziałał na Dev-Cpp 4.9.9.2 (bo takiego używam), trzeba:
  • Załączyć plik <windows.h> w main.cpp.
  • Zmienić funkcję
    Kod:
    int main()
    na
    Kod:
    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
  • Dołączyć <GL/glext.h> i <GL/glu.h> w Renderer.cpp.


9 sty 2010, o 14:18
Zobacz profil
Avatar użytkownika

Dołączył(a): 23 lis 2009, o 22:03
Posty: 20
Lokalizacja: Wrocław
Post Re: Nasze własne Mario - kilka uwag
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++.

  1. Ściągamy potrzebne biblioteki
    1. SDL z http://www.libsdl.org/download-1.2.php, link: SDL-devel-1.2.14-mingw32.tar.gz (Mingw32)
    2. boost z http://sourceforge.net/projects/boost/files/boost/1.41.0/, plik boost_1_41_0.zip
  2. Rozpakowujemy biblioteki w wygodne dla nas miejsce. (ja zrobiłem to do katalogu D:\libs\ )
  3. 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
  4. Do parametrów linkera dodajemy:
    -lmingw32 -lSDLmain -lSDL -mwindows -lopengl32
    patrz: SDL FAQ for Windows.
  5. Plik SDL.dll (z katalogu biblioteki SDL) kopiujemy w odpowiednie miejsce (np. do katalogu z grą lub katalogu systemowego)
  6. 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)
  7. W pliku main.cpp trzeba zmienić nagłówek funkcji main na pełny, żeby czary-mary zadziałało:
    Kod:
    int main(int argc, char *argv[])

    (tę zmianę również wprowadziłem w źródłach).

Źródła razem z plikiem projektu (*.dev) także zamieściłem na serwerze: tutaj.


10 sty 2010, o 02:53
Zobacz profil

Dołączył(a): 6 sty 2010, o 03:12
Posty: 2
Post Re: Nasze własne Mario - kilka uwag
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)


15 sty 2010, o 22:33
Zobacz profil
Gwiazda 1Gwiazda 1

Dołączył(a): 2 lut 2010, o 17:23
Posty: 1
Post Re: Nasze własne Mario - kilka uwag
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 ;)


2 lut 2010, o 21:19
Zobacz profil
Avatar użytkownika

Dołączył(a): 23 lis 2009, o 22:03
Posty: 20
Lokalizacja: Wrocław
Post Re: Nasze własne Mario - kilka uwag
Bantu napisał(a):
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 ;)

Trochę mało informacji, żeby wskazać przyczynę. Projektu w VC nie mogę umieścić, bo nie posiadam tego środowiska - a trochę ono waży (m.in. dlatego zamieszczony projekt jest w DevC++).

Ale może któraś z myśli będzie pomocna:
  • Na stronie SDL są specjalne biblioteki dla VC. Korzystałeś z nich?
  • Wrzuć gdzieś (np. tutaj) projekt który stworzyłeś (bez katalogów Debug, Release, ... oczywiście), a może uda się coś wywnioskować.
  • Jakie konkretnie błędy otrzymujesz?
  • Pisałeś o dołączaniu SDL i boost. A dołączyłeś OpenGL?


2 lut 2010, o 22:07
Zobacz profil

Dołączył(a): 6 lut 2010, o 20:37
Posty: 7
Post Re: Nasze własne Mario - kilka uwag
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


Ostatnio edytowano 6 lut 2010, o 22:00 przez Mateusz Scislowski, łącznie edytowano 1 raz



6 lut 2010, o 21:32
Zobacz profil
Avatar użytkownika

Dołączył(a): 23 lis 2009, o 22:03
Posty: 20
Lokalizacja: Wrocław
Post Re: Nasze własne Mario - kilka uwag
Mateusz Scislowski napisał(a):
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:
(...)

W plikach Renderer.h oraz Engine.h masz
Kod:
#include <GL/gl.h>

Prawidłowo powinno być:
Kod:
#include <SDL_opengl.h>

Skąd pobierałeś ten kod? (pewnie gdzieś mamy buga)


6 lut 2010, o 21:53
Zobacz profil

Dołączył(a): 6 lut 2010, o 20:37
Posty: 7
Post Re: Nasze własne Mario - kilka uwag
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


6 lut 2010, o 22:43
Zobacz profil
Avatar użytkownika

Dołączył(a): 23 lis 2009, o 22:03
Posty: 20
Lokalizacja: Wrocław
Post Re: Nasze własne Mario - kilka uwag
A czy taki kod się u Ciebie kompiluje:
Kod:

#include <boost/shared_ptr.hpp>

class Foo {
public:
    explicit Foo() {
    }
};
typedef boost::shared_ptr<Foo> FooPtr;

class Bar {
public:
    void Create() {
        p.reset( new Foo::Foo() );
    }        
    FooPtr p;
};

int main() {
    Bar b;
    b.Create();
    return 0;
} 

?


Ostatnio edytowano 6 lut 2010, o 23:33 przez Marcin Milewski, łącznie edytowano 2 razy



6 lut 2010, o 23:22
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 46 ]  Przejdź na stronę 1, 2, 3, 4, 5  Następna strona


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Skocz do:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group. Forum style based on STSoftware Hestia.
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL