Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje > Pravljenje igara
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Pravljenje igara Programski jezici, tehnike, alatke u službi pravljenja igara...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 19.7.2007, 16:04   #1
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Pomoc oko pravljenja platformske igre

Skoro sam poceo da pravim platformsku igru, ali sam ubrzo naisao na problem na kome sam zakucan 2 dana i koji ne mogu da resim, niti da nadjem pomoc na nekim nasim i stranim forumima. Tacnije problem mi je napraviti kretanje preko platformi. Ono je delimicno uradjeno ali je puno bug-ova sto cete videti kada skinete igru. Ako treba source mogu i njega da postavim ali ne znam da li iko ovde poznaje python i pygame pa da bi mogao da mi pomogne. Btw, u folder nisam stavio Python25.dll posto ima 2 mb a ja imam dial-up pa mi je muka da kacim. Ako ne mozete da ga nadjete na netu recite mi pa cu da ga postavim na turboupload (Bio bih jako zahvalan nekome ko ima brz net i python25.dll pa da uradi to umesto mene).
Evo linka: http://d.turboupload.com/d/1949207/platform.rar.html
Znaci ako je neko vec imao iskustva sa platformskim igrama ili mozda ima ideju kako bi ovo moglo da se resi neka post-uje.
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 19.7.2007, 16:50   #2
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Pomoc oko pravljenja platformske igre

Dao si nam neki .py fajl a neam python i nemam pojma kako da ga pokrenem/kompajliram tako da ne mogu da ti kazem nista na osnovu toga al analiziracu source pa cemo da vidimo sta mozesh da uradish, mada gledaj ovako.

Igrac ima neku X i Y poziciju, naravno. Kad ide levo desno, samo mu menjash X poziciju, i ako dodje do sudara, vratish ga na mesto gde je bio prethodno, a da bi i ispalo malo lepse (da se igrac odbija kad se sudari) promenish mu brzinu po X osi, brzinaX = -brzinaX i josh moze * 0.5 da se ne odbije bash puno... Nego problem je skakanje po Y osi zbog toga sto ti ne mozesh bash da otkrijesh gde se igrac nalazi, tako da kad se igrac sudari, nemash pojma da li je on iznad pa treba da padne i da stoji na platformi, da li je on ispod pa je samo glavom udario u platformu itd. Zbog toga, treba malo pomoci. Samo da udjem u fotoshop da demonstriram...



E sad, vidish ih u razlicitim mogucim polozajima, sa strane, odozgo i odozdo. Sve sto trebash da uradish jeste da pronadjesh njihove pozicije, tj. da li se nalaze unutar nekih plavih granica (na slici). Ne moraju da budu bash unutar njih, ali vazno je da bar malo ulaze u njih. I pomocu toga, znacesh sta da uradish...
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 19.7.2007, 17:20   #3
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: Pomoc oko pravljenja platformske igre

Ijao ono sto sam poslao bio je upakohvan source koji sam postavljao na drugim forumimaEvo sada ispravan link: http://d.turboupload.com/d/1949297/platform.rar.html Imao sam i ja slicnu ideju ali nije mogla da se realizuje pojma nemam zasto (pokusao sam nekoliko puta i nije htelo verovatno iz razloga sto nastaje problem kada igrac ima koliziju sa 2 platforme. Pokusacu jos nekoliko puta, ako neko ima jos neki predlog neka ga da.
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 19.7.2007, 18:13   #4
rudar
Veteran
 
Član od: 5.1.2006.
Lokacija: Bar, Crna Gora
Poruke: 844
Zahvalnice: 404
Zahvaljeno 244 puta na 87 poruka
Slanje poruke preko MSN-a korisniku rudar
Određen forumom Re: Pomoc oko pravljenja platformske igre

Platformska igra mu dodje neshto kao Super Mario? Ono sidelook i tako to?
rudar je offline   Odgovor sa citatom ove poruke
Stara 19.7.2007, 18:14   #5
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Pomoc oko pravljenja platformske igre

Da da...
EclipsE je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku EclipsE na korisnoj poruci:
rudar (19.7.2007)
Stara 19.7.2007, 23:27   #6
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: Pomoc oko pravljenja platformske igre

Evo poboljsao sam malo ali nije jos sasvim ono sto zelim. Btw, dodao sam da prati kamera igraca inspirasan rudarovim postom Prekopirajte ga samo u vec postojeci folder
Priloženi fajlovi
Tip fajla: zip exe.zip (14,2 KB, 34 puta viđeno)
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 20.7.2007, 11:09   #7
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: Pomoc oko pravljenja platformske igre

Uspeo sam da jos malo sredim platformu i mislim da jedini bug koji je ostao je ovaj:
Kliknite na sliku za veću verziju

Ime:	untitled.JPG
Viđeno:	38 puta
Veličina:	12,0 KB
ID:	9433

Znaci kada se krecem prema drugoj platformi on se sudari i neprodje kroz nju sto je normalno. Ali ako pokusam da skocim pritom drzeci strelicu (u ovom slucaju za levo) on se zaglavi u paltformu umesto da sam skoci u vis ignorisuci zadatu komandu strelicom.
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 20.7.2007, 16:42   #8
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Pomoc oko pravljenja platformske igre

nesto si zeznuo u kodu, mozda ne proverava za koliziju dok drzish skok il...
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 7.12.2007, 22:56   #9
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 4.134
Zahvalnice: 649
Zahvaljeno 1.354 puta na 693 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: Pomoc oko pravljenja platformske igre

Ako ikome bude ista znacilo evo koda kako bi to trebalo da izgleda:
Kod:
class Kutija(rabbyt.Sprite):
    def __init__(self, xy):
        rabbyt.Sprite.__init__(self, "kutija.png")

        self.xy = xy
        self.rot = 0
        self.velocity = [0.0, 0.0]
        self.gravity = - 0.0981

        self.jumps = 0

    def update(self, dt):
        self.velocity[1] += self.gravity
        self.y += self.velocity[1] * dt

    def render(self):
        rabbyt.Sprite.render(self)

    def collide(self, pod):
        #levo i desno
        gor = self.top - 3
        dol = self.bottom + 3
        lev = self.left + 24
        des = self.right - 24
        if self.left < pod.right and des > pod.right:
            if dol < pod.top and gor > pod.bottom:
                    self.left = pod.right
        if self.right > pod.left and lev < pod.left:
            if dol < pod.top and gor > pod.bottom:
                    self.right = pod.left
                
        # gore i dole
        if self.bottom < pod.top and self.top > pod.top:
            if self.left < pod.right and self.right > pod.left:
                if self.velocity[1] < 0:
                    self.bottom = pod.top
                    self.velocity[1] = 0
                    self.jumps = 0
        if self.top > pod.bottom and self.bottom < pod.bottom:
            if self.left < pod.right and self.right > pod.left:
                if self.velocity[1] > 0:
                    self.top = pod.bottom
                    self.velocity[1] = 0
                    
    def jump(self, dt):
        if self.jumps < 2:
            self.velocity[1] = 0
            self.velocity[1] += 3 * dt
            self.jumps += 1

    def move(self, x, dt):
        self.x += x * dt
Verujem da je vecina koda razumljiva sem gor, dol, lev, des
Znaci te varijable sluzi za detekciju kolizije objekta sa platformom sa leve ili desne strane. gor i dol sluze da sprece skakanje objekta na platformu i omogucava normalnu koliziju. One su prakticno malo smanjen BB za sprajt po visini Sada lev i des sluze da ne bi doslo do preteranog propadanja tj. kada je igrac negde na ivici i skace ko mentol moze ladno pa padne sa platforme. E da bi se to sprecilo u nekoj meri (tj. igrac padne samo ako je bash na ivici) sluze ove dve varijable. Ako nekome nije jastan neki deo koda neka pita i dobice odgovor! Pozz

P.S. Nadam se da ce ovo nekome koristiti

Poslednja ispravka: Andross (8.12.2007 u 20:26) Razlog: evo ispravio sam :)
Andross je offline   Odgovor sa citatom ove poruke
Stara 8.12.2007, 12:16   #10
VojaM
Ad Ministrator
 
Avatar korisnika VojaM
 
Član od: 19.8.2005.
Lokacija: Beograd, SK
Poruke: 7.280
Zahvalnice: 29
Zahvaljeno 3.041 puta na 1.544 poruka
Određen forumom Re: Pomoc oko pravljenja platformske igre

Samo malo korisnog offtopica:
Reči "kolizija" i "sudar" su sinonimi

Dake, kad kažeš "kolizija koja se dešava pri sudaru", to je kao da kažeš "isto takođe"

Pretpostavljam da si hteo da kažeš da promenljive lev i des služe za detekciju sudara (ili kolizije) objekta sa platformom.
VojaM je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Java igre vs. Symbian igre PhaetoN Igre za mobilne telefone 66 26.5.2007 16:06
Stare i nove igre BEAST Stare igre 42 30.3.2006 20:39
G-thing program za LG(imam U8180) za java igre trazim gde ima? besplatno?trial? Ilic Marko Programi za mobilne telefone 1 9.2.2006 14:09
hitno pomoc e 730 zverko Igre za mobilne telefone 3 7.2.2006 13:09
Igre za N-gage R@mbo Aparati i oprema 1 10.1.2006 5:51


Sva vremena su po Griniču +2 h. Sada je 16:49.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com