Jump to content

[delphi] Napisanie prostej gry 2d


Renamon

Recommended Posts

Witam , jestem początkujący w delphi (nie robiłem do tej pory nic związanego z grafiką) , chciałem napisać prostą grę 2d (coś ala mario , może trochę bardziej rozbudowaną w niektórych aspektach , i ubogą w innych) , teraz pojawiają się problemy z brakiem wiedzy :P

 

jak stworzyć tło gry , obiekt image czy może inaczej ?

jak można zrobić kolizje.

 

jak zrobić animację , widziałem wiele razy jak animacja była na jednym obrazku kilka klatek , jak program to czyta aby to była animacja chodzenia ?

 

ewentualnie podajcie adres jakiś tutoriali artykułów które mi pomogą :)

pozdrawiam

Renamon

Link to comment
Share on other sites

Jeśli nigdy nic takiego nie robiłeś to najsensowniejsze będzie użycie komponentu Omega. Nie wiem czy jego źródła są tu na unit1 wrzucone musisz poszukać na necie. Ale tutoriale znajdziesz tu na unit1.

 

Umożliwia ci ten pakiecik wszystko co potrzeba. Osobiście polecam(chociaż od dawna nie używałem). Obsługa sprite-ów tak jak mówisz właśnie takich, że są wszystkie klatki animacji w 1zdj. + obsługa kolizji i masa masa innych pierdół, które pewnie Ci się przydadzą.

 

Tylko nie wiem czy ten projekt jest jeszcze rozwijany. Już chyba od dawna nie :/

Ot taka mini-strona moja po godzinach :)http://www.wnetrzekuchni.pl

Link to comment
Share on other sites

nieważne czy jest czy nie :P , omegę już zainstalowałem wczoraj , tylko albo źle szukam albo te tutoriale na tej stronie do omegi są dla tych bardziej zorientowanych już jak działa dany pakiet , a ja potrzebuje wszystko od podstaw odnośnie omegi.

 

sam projekt chcę zrobić tylko dla siebie , chodź pewnie go przedstawię tutaj abyście powytykali błędy :P

 

tylko zastanawia mnie skąd program wie jak poukładać tą animację np:

 

http://labs.teppefall.com/mario2.png

 

to jest automatycznie robione czy ja mam mu pokazać jak to ma czytać ?

Link to comment
Share on other sites

Powiedzmy, że program sam "wie" jak to odczytać na podstawie kilku informacji, które mu podasz.

 

W omedze to było o ile się nie myle: wymiar jednej klatki animacji czyli np. 50x50pikseli i ilość "wierszy" czyli sekwencji animacji(chociaż co do tego nie jestem pewien :P)

 

Czyli np. dla tej animacji podajesz, że wymiar klatki ma tam ze 48px szerokości i powiedzmy 60px wysokości i mamy 4sekwencje animacji. A reszta już sama się robi ;) Swoją drogą napisanie takiego wczytywania i obsługiwania takich obrazów z animacją jest dośc prosciutkie. A jeśli nie będziesz mógł sobie poradzić z takimi animacjami to na początek zrób poruszanie się statycznymi sprite-ami bez animacji. Potem sobie to podmienisz.

 

 

Póki nie wiesz w ogóle jak za bardzo bawić się Omegą to zacznij od tych 2najprostrzych tutoriali:

 

Wyświetlanie obrazków i poruszanie nimi po ekranie

Wyświetlanie tekstu (szablon)

Ot taka mini-strona moja po godzinach :)http://www.wnetrzekuchni.pl

Link to comment
Share on other sites

Teraz mam kolejne pytania:

 

Ponieważ większość tutoriali jest nie dla tego trybu widoku który przewiduję. (tutaj są coś typu settlers , heroes itp. a ja potrzebuje coś na wzór mario) dlatego zastanawiałem się jak można zrobić skok , mój kolega zaczął gadać coś o sinusie czasu który upłynął przez czas skoku * 180 coś typu:

 

sin(czas ktury uplynol/czas skoku*180)

 

tylko za bardzo nie wiem czy to dobrze i jak tego użyć ^^

Link to comment
Share on other sites

Blee niee. A po co sinus. Jak to ma być zwykły widok jak w mario. Czyli typowa platformówka to albo dla uproszczenia robisz podskok i spadanie ze stałym przyspieszeniem. Tzn. przy podskoku w czasie lotu podnosi się o tyle samo pikseli w "jednostce czasu" albo bawisz się w ruch przyspieszony/opóźniony. To takie moje pomysły najprostrze na podskok w platformówce.

 

W wer. najprostrzej robisz, że powiedzmy: postać może max. podskoczyć 50px w góre. Robisz, że w jednostce czasu czy tam przy 1przejściu pętli podnosi się o 2px i tym sposobem masz, że postać podskakuje przez 25przejść pętli głównej. Dość toporne rozwiązanie ale proste i skuteczne :P

Ot taka mini-strona moja po godzinach :)http://www.wnetrzekuchni.pl

Link to comment
Share on other sites

teraz problem jest kolejny ponieważ program za szybko wykonuje pętle :P , i efekt jest taki że odrazu wskakuje na pozycje o X px wyższą , nie wiem co prawda czy to jest dobre KOD Gracz.Y := Gracz.Y - 1; ale nie mam innego pomysłu jak to zrobić , jeszcze zastanawiam się jak zrobić spadanie ? i jakiś tutek z kolizjami by się przydał ale z tego co widziałem to tam są jakieś to może uda się wyciągnąć odpowiedni kod

Link to comment
Share on other sites

teraz problem jest kolejny ponieważ program za szybko wykonuje pętle :P , i efekt jest taki że odrazu wskakuje na pozycje o X px wyższą , nie wiem co prawda czy to jest dobre KOD

Gracz.Y := Gracz.Y - 1; ale nie mam innego pomysłu jak to zrobić , jeszcze zastanawiam się jak zrobić spadanie ? i jakiś tutek z kolizjami by się przydał ale z tego co widziałem to tam są jakieś to może uda się wyciągnąć odpowiedni kod

 

 

Poczytaj o pętlach czasu rzeczywistego:

 

http://xion.org.pl/productions/texts/codin...real-time-loop/

 

Pozdrawiam!

Link to comment
Share on other sites

domyślam się ... , w takim razie co proponujesz przeczytać i porobić ? , bo szczerze tutoriali jest kilka ale większość na inny tryb rozgrywki oraz dla tych bardziej zaawansowanych , tak żeby się nauczyć to jest znikoma ilość

 

dobra pokombinuje , pobawię się z tutorialami i zobaczymy , jak do niedzieli nic sensownego nie zrobię co mnie ruszy dalej to będę tutaj pisał znowu :P

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...