donway Opublikowano 12 Listopada 2009 Udostępnij Opublikowano 12 Listopada 2009 Oddaje do oceny pierwszy mój projekt w c++ w allegro, mianowicie mini szkielet gry platformowej. Download Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 12 Listopada 2009 Udostępnij Opublikowano 12 Listopada 2009 to gra mi tak tnie czy jakims cudem zrobiles dziwnie klatkujacy ruch? :0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 12 Listopada 2009 Autor Udostępnij Opublikowano 12 Listopada 2009 tzn ruch jest o 40 pixeli, za chwilkę poprawie : p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 12 Listopada 2009 Udostępnij Opublikowano 12 Listopada 2009 ale dziwne ze mi tak klatkuje, jakby bylo z 10 fps Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 12 Listopada 2009 Udostępnij Opublikowano 12 Listopada 2009 Czy ja wiem, wydaje mi się, że tylko przeskoki są takie i wygląda jakby się ścinało. tzn ruch jest o 40 pixeli Zdecydowanie do poprawy :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 12 Listopada 2009 Autor Udostępnij Opublikowano 12 Listopada 2009 Proszę : Download Jest tam : Rungame - o 40 pixeli Rungame2 - o 20 pixeli Rungame3 - o 10 pixeli Sami oceńcie ; D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
qanaroo Opublikowano 12 Listopada 2009 Udostępnij Opublikowano 12 Listopada 2009 Wspaniałe, miniszkielet... Będzie się skakać w tej grze? Czyli czekaj, zrobiłeś przesuwanie się tła, tak? To wszystko? Dałbym 1- na zachętę, ale nie ma tu oceniania. Strasznie dupnie się przesuwa, zero płynności. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 12 Listopada 2009 Autor Udostępnij Opublikowano 12 Listopada 2009 Tylko, że zrobiłem to tak, że ani tło, ani ludzik się nie przesuwa ; > Przesuwają się tylko obiekty na tle co daje efekt jakby ludzik się przemieszczał, zresztą napisałem, że to pierwszy projekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 12 Listopada 2009 Udostępnij Opublikowano 12 Listopada 2009 lepiej zrobić viewa ktory bedzie ustawial kamere na danej pozycji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 12 Listopada 2009 Autor Udostępnij Opublikowano 12 Listopada 2009 tylko, że nie wiem jak, dlatego wymyśliłem ten patent z przesuwającymi się obiektami =x Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 Przesuwają się tylko obiekty na tle co daje efekt jakby ludzik się przemieszczał,Hehe, dzięki za wyjaśnienie. Dopiero co zastanawiałem się, po kiego grzyba nie mogę sterować ludkiem tylko jakąś rurą, i to na dodatek sterowanie jest odwrotne... ;| W ilu klatkach działa ta gra? Bo serio sprawia wrażenie, jakby działała w 15, a fraps nie działa na Allegro, więc nie sprawdzę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 tylko, że nie wiem jak, dlatego wymyśliłem ten patent z przesuwającymi się obiektami =x W weekend pisze tutek, więc się nauczysz tego i wielu innych rzeczy ;) Ale generalnie pomysł masz dobry, jeśli w Allegro nie ma macierzy transformacji, to poszedłeś dobrą drogą by robić przesuwany view, tylko pewnie mocno namieszane i zastosowane spore obejście na około, ale to sie da poprawić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 13 Listopada 2009 Autor Udostępnij Opublikowano 13 Listopada 2009 Jak mam sprawdzić fps ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 liczysz ilosc wystapien klatek w ciagu sekundy. jak masz petle glowna gry: // deklarujesz sobie zmienne fps=0; klatki=0; sekunda=0; // petla glowna gry while(wykonuj==true) { <rysujesz i aktualizujesz gre> // obliczanie fps klatki++; sekunda+=deltatime; // deltatime to czas w sekundach trwania ostatniej klatki if(sekunda>1) { sekunda=0; fps=klatki; klatki=0; } } no chyba ze allegro ma w sobie wbudowane obliczanie fps wiec poszukaj jak ta wartosc z niego pobrac Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
en_6280 Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 Przesuwają się tylko obiekty na tle co daje efekt jakby ludzik się przemieszczał, No gdybyś dodał chociaż prostą animację ruchu nagami to tak, niestety na moje Tobie to nie wyszło. Odczuwam głupi efekt przesuwania rury i tyle. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 13 Listopada 2009 Autor Udostępnij Opublikowano 13 Listopada 2009 PsichiX ni dy rydy fpsa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaistlinBlackRobe Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 No cóż. Jak zapewne sam zauważyłeś otrzymujesz tutaj w znacznej większości komentarze negatywne(tak stało się również w przypadku twojego poprzedniego tematu). Etap, na którym aktualnie jesteś, to początki twojej nauki c++. Rzecz w tym, że w tym momencie publikowanie przez ciebie twoich aplikacji, które stworzyłeś ucząc się, bądźmy szczerzy, nie ma sensu. Musisz wiedzieć, że to co tutaj umieściłeś nie jest: ani dobrym przykładem, z którego inni mogli by się uczyć(zresztą po braku sourcea widać, że to nie było zamierzeniem), ani dobrze rokującym silnikiem, który inni mogliby skomentować i doradzić jak dalej rozwijać, ani grywalną grą(bądź demem, betą, alfą, czy jąkąś inną omegą), w którą można by popykać i podzielić się wrażeniami. To jest po prostu zarys twojego aktualnego etapu w nauce, twoje pierwsze kroki. To nie jest rzecz, którą powinneneś się dzielić z szerszą społecznością(ewentualnie, gdy prosisz o pomoc w odnalezieniu w niej błędu, czy masz inny problem jej dotyczący). Na to powinieneś poczekać. Jeżeli będziesz wytrwały, kreatywny i będziesz się przykładał do nauki korzystania z języka, to w końcu podzielisz się z nami swoją grą(tudzież inną aplikacją) i wtedy na pewno będziesz mógł liczyć po pierwsze na ocenienie i konstruktywny komentarz, a po drugie na to, że te oceny i komentarze będą pozytywne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 13 Listopada 2009 Autor Udostępnij Opublikowano 13 Listopada 2009 dzięki za wsparcie ;] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 ja uważam, że jakby zrobił dużą część gry w ten sposób, byłoby za późno na zmiany i mielibyśmy crapa. ja tam scrolling realizuję w ten sposób: mam dwie wartości: view_xview i view_yview (nawyk z GMa ;p). kiedy rysuję obiekty, odejmuję od współrzędnych te wartości. tego, co jest w tym twoim demie, nie skomentuję. jeszcze oddzielne pliki dat dla wszystkich grafik. jak już to robisz w ten sposób, to spakuj potrzebne grafiki w jeden plik, bo inaczej to jest zbędne zawracanie swojej dupy, a można też wrzucić niekonwertowane grafiki. i tak twoich nikt nie będzie chciał kraść (na tym etapie, mam nadzieję) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 13 Listopada 2009 Autor Udostępnij Opublikowano 13 Listopada 2009 próbowałem wrzucić do 1 pliku dat ale byly jakies bledy wiec lepiej narazie tak, wytlumaczylbys bardziej szczegolowo swoj scrolling ? ;] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaistlinBlackRobe Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 próbowałem wrzucić do 1 pliku dat ale byly jakies bledy wiec lepiej narazie tak, wytlumaczylbys bardziej szczegolowo swoj scrolling ? ;] Jemu chodzi o to, że tworzysz dwie zmienne: int view_xview = 0; //pozycja x kamery, czyli punkt o współrzędnej x takiej jak ta zmienna będzie w lewym dolnym rogu int view_yview = 0; //pozycja y kamery, czyli punkt o współrzędnej y takiej jak ta zmienna będzie w lewym dolnym rogu Następnie, gdy przychodzi do rysowania, to grafikę zamiast rysować w punkcie (x, y), to rysujesz ją w punkcie (x-view_xview, y-view_yview) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 13 Listopada 2009 Autor Udostępnij Opublikowano 13 Listopada 2009 dziękuję za pomoc, niedługo pewnie wstawię swoją pierwszą grę ;-) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
qanaroo Opublikowano 13 Listopada 2009 Udostępnij Opublikowano 13 Listopada 2009 I jak idziesz w prawo to dodajesz do view_xview, w lewo odejmujesz, jak podskakujesz to dodajesz do y. Lepiej z tym wstawianiem się nie spiesz, wolimy zobaczyć dokończoną i dopracowaną grę. I ty zapewne będziesz wolał czytać komentarze na temat dopracowanej wersji. Mnie już samo słowo "niedługo", po tym, gdy jeszcze nic nie umiałeś odrzuca. I pamiętaj, że samo napisanie w C++ platformówki nie doda ci +2 do oceny, ludzie ocenią ją tak samo jakbyś napisał ją w GML, czy czymśtam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
donway Opublikowano 13 Listopada 2009 Autor Udostępnij Opublikowano 13 Listopada 2009 mam taki kod ale za **** nie mogę zrobić tego xview i yview zeby ekran sie przewijal. Dam kod i prosiłbym, żeby ktoś mi pomógł bo sam nie wyrabiam ;> #include <allegro.h> #include "uni01.h" #include "uni02.h" #include "uni03.h" #include "uni04.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,-1); BITMAP *bufor = NULL; bufor = create_bitmap(800,600); if(!bufor) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Blad bufora!"); allegro_exit(); } DATAFILE *uni01 = NULL; uni01 = load_datafile("uni01.dat"); if(!uni01) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Nie mozna wczytac uni01!"); allegro_exit(); } DATAFILE *uni02 = NULL; uni02 = load_datafile("uni02.dat"); if(!uni02) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Nie mozna wczytac uni02!"); allegro_exit(); } DATAFILE *uni03 = NULL; uni03 = load_datafile("uni03.dat"); if(!uni03) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Nie mozna wczytac uni03!"); allegro_exit(); } DATAFILE *uni04 = NULL; uni04 = load_datafile("uni04.dat"); if(!uni04) { set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message("Nie mozna wczytac uni04!"); allegro_exit(); } int lx=200,ly=450; //Zmienne bohatera int plx=300,ply=350; while (!key[KEY_ESC]) { if(key[KEY_LEFT])plx+=10,masked_blit((BITMAP*)uni02[heros].dat,bufor,0,0,lx,ly,40,60); if(key[KEY_RIGHT])plx-=10,masked_blit((BITMAP*)uni01[hero].dat,bufor,0,0,lx,ly,40,60); if(key[KEY_UP])ly==400; if(ly<=400)ly==450; rest(80); clear_to_color(bufor,-1); blit((BITMAP*)uni03[podloga].dat,bufor,0,0,0,500,600,150); blit((BITMAP*)uni03[podloga].dat,bufor,0,0,200,500,600,150); masked_blit((BITMAP*)uni04[platforma].dat,bufor,0,0,plx,ply,80,155); masked_blit((BITMAP*)uni01[hero].dat,bufor,0,0,lx,ly,40,60); blit(bufor,screen,0,0,0,0,800,600); } allegro_exit(); return 0; } END_OF_MAIN() Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 14 Listopada 2009 Udostępnij Opublikowano 14 Listopada 2009 nie, nie będę przerabiał twojego kodu tak, aby zrobić kamerę. aż strach pomyśleć, jak ty zrobisz kolizje i skakanie. weź się za coś prostszego. a jak chcesz to skończyć: ustawiaj view_xview i view_yview na pozycję bohatera i odejmuj połowę rozmiaru ekranu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę