Prikazujem rezultate 1 do 9 od 9

Tema: 2D platformer - logički problem

  1. #1
    Senior Member Lock'n'Load
    Datum registracije
    Oct 2007
    Postova
    118

    2D platformer - logički problem

    Dakle, radim na jednom 2D platformeru. Radim u Pascalu i koristim SDL library za grafiku i zvuk.
    Vidim da ovdje rijetko tko radi u Pascalu, ali nije ni bitno.

    Uglavnom, riješio sam kretanje, gravitaciju te učitavanje levela iz mape. I animaciju lika (dobro, ne do kraja, ali to još samo trebam ubaciti teksture koje već imam).
    Jedini problem koji mi je ostao je detekcija podloge. Zasad sam skakanje napravio tako da lik normalno skoči, a kad se vrati u jednaku visinu iz koje je skočio, skok je gotov. To je bilo tek toliko da imam nekako isprobavati postavke za gravitaciju i slično. Sad još moram napraviti detekciju površine, tako da lik prekine skok tek dok sleti na neku podlogu.

    E sad, mapa se učitava iz tekstualne datoteke (to mi se čini kao najbolje rješenje, jer se na brzinu može napraviti velik broj nivoa) u array (niz) varijabli.

    Jedini način za koji ja znam je u svakom frejmu provjeravati jel su x i y koordinate igrača jednake onoj neke platforme (s tim da u tom slučaju petlja mora provjeriti sve tileove), što mi ne pomaže previše, jer koristi previše resursa.

    Ako se itko dosad susreo sa sličnim problemom ili zna kako ga riješiti, bilo bi super kad bi napisao neki pseudo kod ili jednostavno riječima detaljno objasnio što i kako napraviti.
    Hvala. ;D

  2. #2
    Senior Member Ninja hurdle
    Datum registracije
    Jun 2008
    Lokacija
    Okrnjak!
    Postova
    884

    Re: 2D platformer - logički problem

    jeli tezak taj pascal i dal radis sam likove za igru
    "Programski jezici kao što su C++ i Java dizajnirani su za profesionalni razvoj sa velikim timovima iskusnih programera koji se brinu za efikasnost izvršavanja svog koda."

  3. #3
    Senior Member Master Blaster
    Datum registracije
    Nov 2005
    Lokacija
    Zadar
    Postova
    4.028

    Re: 2D platformer - logički problem

    U čemu je problem sa x,y detekcijom?

    Ja bih problem rješio (pod pretpostavkom da je svaki tile struktura sa sljedećim podacima: x, y, w, h) tako da provjerim je li lik.y > tile.y (dakle je li lik ušao u tile) i lik.y < tile.y + tile.h (tile može biti negdje u zraku, a lik na zemlji, pa je potrebna ova provjera). Osim toga trebaš provjeriti i x koordinate...

    Taj kod ponavljaš za svaki tile, ili ako imaš neku optimizaciju (npr. ako je level podjeljen u sektore), za svaki tile u trenutnom sektoru.
    The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
    <3 <3 <3 <3 <3 <3 <3
    ŠIRI SA MNOM LJUBAV Cherry!

  4. #4
    Senior Member My way or the highway
    Datum registracije
    Dec 2006
    Lokacija
    Behind the blue eyes
    Postova
    7.757

    Re: 2D platformer - logički problem

    = Citat = Izvorno postao Ghost_Rider
    jeli tezak taj pascal i dal radis sam likove za igru
    Čovjek postavi pitanje u nadi da ce mu netko odgovoriti, a ti kreneš s kontra pitanjima

  5. #5
    Senior Member Lock'n'Load koki007's Avatar
    Datum registracije
    Feb 2008
    Lokacija
    Medimurje!
    Postova
    141

    Re: 2D platformer - logički problem

    = Citat = Izvorno postao Ixy
    Jedini način za koji ja znam je u svakom frejmu provjeravati jel su x i y koordinate igrača jednake onoj neke platforme (s tim da u tom slučaju petlja mora provjeriti sve tileove), što mi ne pomaže previše, jer koristi previše resursa.
    Heh, nema drugog nacina, pozicije na ovaj ili onaj nacin jednostavno moras usporedit da bi znao. Ako provjeravanje koristi previse resursa onda moras eliminirati one tileove koje nema smisla provjeravati.

    Najednostavnije da nakon loada tileove grupiras u grupe/sektore - najednostavnije preklapajuce pa onda provjeravas samo one u ono sektoru u kojem se player nalazi ... ili da igra popise/grupira sve tileove u nekom radijusu oko playera (te samo te provjerava) - nakon svakih x sekunda ili je trigger odredena kolicina pomaka

  6. #6
    Senior Member Lock'n'Load
    Datum registracije
    Oct 2007
    Postova
    118

    Re: 2D platformer - logički problem

    = Citat = Izvorno postao Luka
    U čemu je problem sa x,y detekcijom?
    Pa zapravo ga nema, samo koristi stvarno previše procesorskog vremena.
    Našao sam jedan tutorial. Nisam ga još stigao baš pogledati, no ako to ne pomogne, pokušat ću razdijeliti nivo u sektore...

  7. #7
    Administrator My way or the highway
    Datum registracije
    Mar 2006
    Lokacija
    Uncanny Valley
    Postova
    9.450

    Re: 2D platformer - logički problem

    Jel ti palo na pamet da moraš provjeravati samo y koordinate za zadanu x koordinatu lika? Usporedba prepolovljena. Još ako nekako poredaš tileove da uspoređuje samo najbliži tile, na konju su.
    Najbrži pištolj Policije Okusa. Može da pogodi sve od bilo gdje. Također piše i poeziju.

  8. #8
    Senior Member Lock'n'Load
    Datum registracije
    Oct 2007
    Postova
    118

    Re: 2D platformer - logički problem



    Ne. Moram provjeravati i x i y koordinatu i lika i tileova. Jer nivo nije jednodimenzionalan.
    Evo kako meni izgleda tekst fajl iz kojeg se učitava nivo.
    Primjer:

    11111111111111111111

    222
    333 2222
    3332223333
    3333333333
    3333333333
    4444444444
    1111111111111111111111

    Iščitava znakove iz datoteke. Ako naiđe na razmak (' '), pomakne se za širinu tilea udesno. Ako naiđe na broj, ucrta tile. Različiti brojevi = različiti tileovi.

    E sad, ne razumijem baš kako bih provjeravao samo y koordinatu.
    A najbliže tileove ću i uspoređivati, ali po jednakom principu po kojoj ću provjeravati je li igraču tlo pod nogama.
    Probat ću podijeliti cijeli nivo na dvodimenzionalnu mrežu i vidjeti kud s tim mogu dalje...

  9. #9

    Re: 2D platformer - logički problem

    Evo jednog dobrog tutoriala za tile engine. Jest da je za Flash, ali to nije bitno jer princip je isti.

    http://www.tonypa.pri.ee/tbw/start.html

Slične teme

  1. E3 trailer za EA-ov Shank, impresivan platformer
    By IgGy in forum Komentari vijesti PCPlay.hr i PlayZone.hr
    Odgovora: 4
    Posljednji post: 11-06-2010, 13:16
  2. Trailer za impresivni platformer Rocket Knight
    By IgGy in forum Komentari vijesti PCPlay.hr i PlayZone.hr
    Odgovora: 10
    Posljednji post: 18-05-2010, 22:13
  3. Steam problem - problem with your local games file
    By TeraBajt in forum Pomagaj brate!
    Odgovora: 4
    Posljednji post: 03-08-2009, 00:21
  4. Klonoa Wii platformer
    By Ementaler in forum Igraće konzole i igre za njih
    Odgovora: 0
    Posljednji post: 25-06-2009, 13:17
  5. Trine ( fantasy- platformer)
    By Bara in forum Gaming općenito
    Odgovora: 5
    Posljednji post: 30-01-2009, 23:58

Pravila postanja

  • Ne možeš stvarati nove teme
  • Ne možeš odgovarati na postove
  • Ne možeš slati privitke
  • Ne možeš mijenjati svoje postove
  •