KozakPL Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 Siema.Jeśli znam C++ to czego mi jeszcze trzeba do napisania prostej gierki?Jak by było najprościej?
gibon Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 Siema.Jeśli znam C++ to czego mi jeszcze trzeba do napisania prostej gierki?Jak by było najprościej? talentu i mobilizacji...
PsichiX Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 Znajomość jakiejś biblioteki graficznej i ewentualnie dźwiękowej, lub silnika jak nie chcesz spędzić kupe czasu na jego tworzenie.
47xxxxxxxx Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 Jeśli nie usunąłeś starego Dev-C++, to w folderze z Devem masz folder Examples, a w nim folder WinAnim.Tam jest przykład kulki która się odbija od ścian okna.
KozakPL Opublikowano 19 Lipca 2009 Autor Opublikowano 19 Lipca 2009 Wolał bym sam napisać :P Tylko jakieś wskazówki jak :P Wiem jak się tworzy klasy i Obiekty itp...wszystko co trzeba.Słyszałem że od WinApi Lepsze OpenGL To prawda? Czy open gl trzeba się uczyć od nowa? Jakiś mały przykład jak można poprosił bym :)
PsichiX Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 weź się pierw za allegro czy SDL bo z Twoim słomianym zapałem wątpie że sobie jakikolwiek silniczek na OGL zrobisz
Administratorzy gnysek Opublikowano 19 Lipca 2009 Administratorzy Opublikowano 19 Lipca 2009 loz. OpenGL jest silnikiem graficznym, a WinApi to zbiór funkcji potrzebnych do działania programu w windowsie :)
KozakPL Opublikowano 19 Lipca 2009 Autor Opublikowano 19 Lipca 2009 aha xD hehe xD czyli od allegro trza zacząć xD E:Jak ktoś chce to znalazłem fajny kurs: http://kursy.ddt.pl/?TutorialId=7
Kofel Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 loz. OpenGL jest silnikiem graficznym, a WinApi to zbiór funkcji potrzebnych do działania programu w windowsie :) Ty to jak coś powiesz to normalnie niekiedy załamka :D
Administratorzy gnysek Opublikowano 19 Lipca 2009 Administratorzy Opublikowano 19 Lipca 2009 Dobra OpenGl też jest zbiorem funkcji API. Kiedyś cię zbanuję, naprawdę <_<
Filar Społeczności ANtY Opublikowano 19 Lipca 2009 Filar Społeczności Opublikowano 19 Lipca 2009 Do napisania gry potrzebne oprócz C++ potzrebne ci jest zaparcie i samodzielność oraz umiejętność szukania tematów sprzed kilku dni na forum, gdzie poruszany był ten temat 100 razy. Poza tym nie wiem czy "najprostszym" rozwiązaniem będzie OpenGL.
KozakPL Opublikowano 19 Lipca 2009 Autor Opublikowano 19 Lipca 2009 Gnysek: Kogo zbanujesz xD ;] mam problem już:W kursie jest taki kod: #include <allegro.h> int main() { allegro_init(); install_keyboard(); set_color_depth(16); set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0); clear_to_color(screen, makecol(128,128,128)); BITMAP *ludek = NULL; ludek = load_bmp("kolo.bmp",default_palette); if (!ludek) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Error: Brak Pliku kolo.bmp"); allegro_exit(); return 0; } blit( ludek, screen, 0,0, 100,100, ludek->w, ludek->h); readkey(); destroy_bitmap(ludek); allegro_exit(); return 0; } END_OF_MAIN(); Ale obrazek jest z tłem...więc tak: #include <allegro.h> int main() { allegro_init(); install_keyboard(); set_color_depth(16); set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0); clear_to_color(screen, makecol(128,128,128)); BITMAP *ludek = NULL; ludek = load_bmp("kolo.bmp",default_palette); if (!ludek) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Error: Brak Pliku kolo.bmp"); allegro_exit(); return 0; } blit( ludek, screen, 0,0, 100,100, ludek->w, ludek->h); masked_blit( ludek, screen, 0,0, 200,100, ludek->w, ludek->h); readkey(); destroy_bitmap(ludek); allegro_exit(); return 0; } END_OF_MAIN(); Teraz tworzy się 2 kolesi i w dodatku trzymają się za ręce(haha xD Serio xD ).Ten po lewej jest z tłem a ten po prawej nie ma tła xD O co chodzi? xD E:A to muj ludzik: https://gmclan.org/up5646_4_kolo.html E2:Oto screen https://gmclan.org/up5646_4_ekran.html ;/ Czemu jest ich 2?
Konrad-GM Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 A ja ze swojej strony polecam SFML, prosta biblioteka która ma wszystko co jest potrzebne do napisania gry :P Ps. W dodatku łatwiej ją zintegrować z OpenGL
KozakPL Opublikowano 19 Lipca 2009 Autor Opublikowano 19 Lipca 2009 Zarąbiaste to xD Nie jest takie trudne ;] Myślałem że to będzie "Udręka" z kodami xD A tu luzik...jak narazie :] Polecam ;]
Kofel Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 Dobra OpenGl też jest zbiorem funkcji API. Kiedyś cię zbanuję, naprawdę <_< Może mi nie chodziło o OGL, tylko o to co powiedziałeś o WinAPI, bo z Tego ze Snakem mieliśmy niezły polew :D ( P.S. Źle zacytowałem ) Widzę, że powoływałeś się na polską wikipedię,a tam akurat definicja jest do dupy. :)
KozakPL Opublikowano 19 Lipca 2009 Autor Opublikowano 19 Lipca 2009 Mam problem: kod: #include <allegro.h> int main() { allegro_init(); install_keyboard(); set_color_depth(16); set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0); clear_to_color(screen, makecol(128,128,128)); install_sound(DIGI_AUTODETECT,MIDI_AUTODETECT,""); set_volume(255,255); BITMAP *bufor = NULL; SAMPLE *dzwiek = NULL; bufor = create_bitmap(640,480); if (!bufor) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Nie mogę utworzyć bufora !"); allegro_exit(); return 0; } dzwiek = load_sample("brum.wav"); if (!dzwiek) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("nie mogę załadować dzwieku !"); allegro_exit(); return 0; } play_sample(dzwiek, 255,127,1000,1); while( !key[KEY_ESC]) { if( key[KEY_A]) { adjust_sample( dzwiek,255,127,500,1); } if( key[KEY_S]) { adjust_sample( dzwiek,255,127,2000,1); } if( key[KEY_D]) { adjust_sample( dzwiek,255,0,1000,1); } if( key[KEY_F]) { adjust_sample( dzwiek,255,255,1000,1); } } stop_sample(dzwiek); destroy_bitmap(bufor); destroy_sample(dzwiek); allegro_exit(); return 0; } END_OF_MAIN(); Kompiluje i uruchamiam(F9) i wyskakuje że Projekt nie jest skompilowany ;/
Kofel Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 Kompiluje ... Projekt nie jest skompilowany ;/ Te dwie rzeczy się wykluczają
KozakPL Opublikowano 19 Lipca 2009 Autor Opublikowano 19 Lipca 2009 Nie rozumiem.Możesz jaśniej? Lols.W Pliku jest skompilowany program.działa.Jak mam włączony kompilator i daje kompiluj i uruchom to kompiluje się i nie uruchamia xD ;] Ale ważne że działa xD ;] E:Zna ktoś jakąś stronę z przykładami do allegro?Jak zrobić skakanie,grawitacje,kolizje itp ;]
Jaklub Opublikowano 19 Lipca 2009 Opublikowano 19 Lipca 2009 Jak zrobić skakanie,grawitacje,kolizje itp ;] to nie do allegro jest, tylko w ogóle do programowania. musisz pomyśleć sam, w C++ mało kto podaje "na talerzu" takie rzeczy.
KozakPL Opublikowano 20 Lipca 2009 Autor Opublikowano 20 Lipca 2009 Aha...czyli allegro to tylko od grafy ;] A reszte normalnie pisze w C++?
PsichiX Opublikowano 20 Lipca 2009 Opublikowano 20 Lipca 2009 A reszte normalnie pisze w C++ Tak wać, resztę normalnie, choć kłócił bym się ze stwierdzeniem, iż pisząc z pomocą allegro, pisze się nienormalnie ;P
KozakPL Opublikowano 20 Lipca 2009 Autor Opublikowano 20 Lipca 2009 O siema psysiu xD A jak się pisze? ;] Może byś napisał taką małą fizykę chodzenia i skakania w platformie 2D? Wielu się to przyda ;p :P
PsichiX Opublikowano 20 Lipca 2009 Opublikowano 20 Lipca 2009 algorytm podobny do takiego jaki byś napisał w GM, a o platformerach masz w faq napisane Wielu się to przyda "Wielu" idzie do wujka google i po rozum do głowy, Ty też bądź "wielu"
KozakPL Opublikowano 20 Lipca 2009 Autor Opublikowano 20 Lipca 2009 A możesz dać taki przykład? ;p A SDL nie jest prostrzy od allegro czasem?
PsichiX Opublikowano 20 Lipca 2009 Opublikowano 20 Lipca 2009 A możesz dać taki przykład? ;p nie, bo mi sie najzwyczajniej nie chce tracić czasu na coś co możesz znaleźć w googlach. A SDL nie jest prostrzy od allegro czasem? nie mnie to oceniać, nie używałem ani tego ani tamtego
progio! Opublikowano 20 Lipca 2009 Opublikowano 20 Lipca 2009 Jak ty chcesz cokolwiek napisać jak googli nie potrafisz użyć? A jak już się uczysz allegro to możesz przy nim zostać. Wypróbuj jedno, potem drugie. Nie oba na raz.
KozakPL Opublikowano 20 Lipca 2009 Autor Opublikowano 20 Lipca 2009 Ehh...wpisuje Engine Skakania Allegro...wyskakuje http://m.allegro.pl/item643481323_pompowan...skakania_kurier xD
PsichiX Opublikowano 20 Lipca 2009 Opublikowano 20 Lipca 2009 to próbuj inne hasła. Masz mózg to używaj. Jak tak dalej pójdzie to niestety kiedyś zostaniesz pierwszym zbanowanym za pure stupidity, serio.. bo aż jasna cholera strzela jak się czyta to co piszesz.
KozakPL Opublikowano 20 Lipca 2009 Autor Opublikowano 20 Lipca 2009 No ok :P Narazie znalazłem to: http://www.easykoder.vot.pl/arty ;] Przetestuje i się odezwę xD hehe xD Hmm...nie takie trudne to ;] Ale mam problem xD : class Cpostac { public: short int x,y; short int s,w; }; bool kolizja(int x1,int y1,int s1,int w1,int x2,int y2,int s2,int w2,int x3,int y3,int s3,int w3,int x4,int y4,int s4,int w4) { if( x2<=x1+s1 && x2>x1 && y2>=y1 && y2<=y1+w1) return true; else if( x2<=x1+s1 && x2>x1 && y2+w2>=y1 && y2+w2<=y1+w1) return true; else if( x2+s2<=x1+s1 && x2+s2>x1 && y2>=y1 && y2<=y1+w1) return true; else if( x2+s2<=x1+s1 && x2+s2>x1 && y2+w2>=y1 && y2+w2<=y1+w1) return true; else return false; }; Cpostac ludek1,ludek2,Wino,Murek; #include <allegro.h> volatile long speed = 0; void increment_speed() { speed++; } END_OF_FUNCTION(increment_speed); LOCK_VARIABLE(speed); LOCK_FUNCTION(increment_speed); int main() { allegro_init(); install_keyboard(); set_color_depth(16); set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0); install_timer(); install_int_ex(increment_speed, BPS_TO_TIMER(100)); BITMAP *bufor = NULL; BITMAP *ludekb1 = NULL; BITMAP *ludekb2 = NULL; BITMAP *Wino = NULL; BITMAP *Murek = NULL; // ładowanie grafik bufor = create_bitmap(640,480); ludekb1 = load_bmp("BMP/Mietek.bmp",default_palette); ludekb2 = load_bmp("BMP/Zenek.bmp",default_palette); Wino = load_bmp("BMP/Wino.bmp",default_palette); Murek = load_bmp("BMP/Murek.bmp",default_palette); // Ładowanie postaci ludek1.x=100; ludek1.y=100; ludek1.s=50; ludek1.w=60; ludek2.x=300; ludek2.y=100; ludek2.s=50; ludek2.w=60; Murek.x=100; ludek1.y=200; ludek1.s=50; ludek1.w=60; Wino.x=100; ludek2.y=300; ludek2.s=50; ludek2.w=60; while( !key[KEY_ESC]) { while( speed > 0) { // Poruszanie ludek1 if( key[KEY_LEFT]) ludek1.x--; if( key[KEY_RIGHT]) ludek1.x++; if( key[KEY_UP]) ludek1.y--; if( key[KEY_DOWN]) ludek1.y++; // Poruszanie ludek2 if( key[KEY_A]) ludek2.x--; if( key[KEY_D]) ludek2.x++; if( key[KEY_W]) ludek2.y--; if( key[KEY_S]) ludek2.y++; speed--; } clear_to_color(bufor, makecol(150,150,150)); //Wyświetlanie ludków masked_blit( ludekb1, bufor, 0,0, ludek1.x, ludek1.y, ludek1.s, ludek1.w); masked_blit( ludekb2, bufor, 0,0, ludek2.x, ludek2.y, ludek2.s, ludek2.w); masked_blit( Murek, bufor, 0,0, Murek.x, Murek.y, Murek.s, Murek.w); masked_blit( Wino, bufor, 0,0, Wino.x, Wino.y, Wino.s, Wino.w); // Wyswietlanie napisu jeśli kolizja if( kolizja( ludek1.x,ludek1.y,ludek1.s, ludek1.w, ludek2.x, ludek2.y, ludek2.s, ludek2.w)==true) { textout_ex(bufor,font,"Kolizja !",20,20 ,makecol(255,200,255),-1); } blit( bufor, screen, 0,0,0,0, 640,480); } destroy_bitmap(bufor); destroy_bitmap(ludekb1); destroy_bitmap(ludekb2); destroy_bitmap(Wino); destroy_bitmap(Murek); allegro_exit(); return 0; } END_OF_MAIN(); i wyskakują błędy że nie zdefiniowałem x,y,s,w w Murku i Winiaczku ;/ Może ktoś pomóc?
Jaklub Opublikowano 20 Lipca 2009 Opublikowano 20 Lipca 2009 ludek.x pozmieniaj na ludek->x pomyłka ;x
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się