Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Törmäys rutiini...

Sivun loppuun

ez [12.01.2003 19:22:30]

#

Olen väsännyt pientä Super Mario tyyppistä peliä. Käytän siinä Spritejä ja ongelma on miten saan ohjelman huomaamaan, että Mario törmää hirviöön?? Pitääkö tehdä iso taulukko koordinaateista?? Verrata väriarvoja?? docollision? Mikä ois semmonen kevyt hyvä rutiini??

LL [12.01.2003 19:30:54]

#

Aloitetaampas kielen sanomisesta...

progo [12.01.2003 19:39:47]

#

Ylhäältäpäin kuvattu? Vai kolmiulotteine? =P Kolmiulotteisessa on paljon vaikeampaa tarkistella törmäyspisteitä.. ja onhan lisenssit hankittu, jos mariota aiot käyttää pelissäsi ;)

Antti Laaksonen [12.01.2003 21:32:25]

#

Jos tiedot hirviöistä ovat taulukossa, voit helposti verrata pelihahmon koordinaatteja ja kunkin hirviön koordinaatteja ottaen huomioon spritejen leveydet, ja jos kohdat menevät päällekkäin, törmäys on tapahtunut.

thefox [13.01.2003 14:26:12]

#

proguru, 3D-tasohyppely spriteillä? Kuulostaa vallan mainiolta ;)
Väriarvoilla leikkiminen ei useimmiten tule kuuloonkaan, nopsasti onnistuu jos vertailet kuutioilla, pixelperfect vie sitten hieman enemmän aikaa mutta ei toki liikaa sekään :)

kaviaari [13.01.2003 16:42:05]

#

Joo... jos kieli on VB törmäys rutiini on tämän näköinen:

If pelaaja.Top < (hirviö.Top + hirviö.Height) Then
    If (pelaaja.Top + pelaaja.Height) > hirviö.Top Then
        If pelaaja.Left < (hirviö.Left + hirviö.Width) Then
            If (pelaaja.Left + pelaaja.Width) > hirviö.Left Then

                    ' OSUMA !!

            End If
        End If
    End If
End If

LL [13.01.2003 16:43:46]

#

Tuossa juha90 antamassa vinkissä kappaleiden täytyy olla täsmälleen toistensa kohdalla...

ez [14.01.2003 18:31:38]

#

Kieli on VB ja marion tilasta pelissä käytetään valokuvia oikeasta ihmisestä.. Eikös tuo koordinaattejen vertaaminen vaadi aika paljon laskenta tehoa? Onko kukaan kuullut siitä docollision functiosta tai osaako kukaan avustaa sen käytössä?

kaviaari [15.01.2003 16:54:00]

#

LL, Ei todellakaan tarvitse kunhan kummankin kappaleen jokin kohtaa osuu toisiinsa!

ez [19.01.2003 17:11:43]

#

Kummankin? Ajattelin laittaa peliin muutakin kuin Marion ja yhden vihollisen... Kukaan ei taida olla käyttänyt ilmeisesti tota ducollisionia?! Sehän ilmeisesti vertaa kahden neliön paikkaa ja laskee sen alueen kuinka paljon ne neliöt ovat sisäkkäin ja tarkastaa sitten siltä alueelta törmääkö sen neliön sisällä oleva sprite toisen neliön sisällä olevaan spriteen.. Tarkastus tapahtuu ilmeisesti väriarvoilla!

Etuna tässä verrattuna tuohon koordinaatti vertailuun on se, että törmäys tapahtuu todellakin Marion ääriviivojen mukaan. Eikä marion ympärillä olevan neliön mukaan!

Anttikin kirjoitti, että voin helposti verrata pelihahmon koordinaatteja, mutta tarkoittiko hän pelihahmon ääriviivoja vai jotain Picturelaatikon reunoja?

Ajattellaanpa tilanne jossa pelihahmo on paikoillaan. Kun hahmo on ollut paikoillaan vaikka 5 sekunttia se vaihtaa itsestään vaikka käsien asentoa, mutta sen picturelaatikon koordinaatit ei muutu ollenkaan, siinä tulee apuun docollision vai mitä hemmot, jotka sitä osaa käyttää??

kaviaari [24.01.2003 14:58:54]

#

Niinpä niin mut VBllä jos käy jotain tollasta tekemään niin tulee tosi vilkkuva , mut jos käytät DXää taikka APIa niin siitä vaan.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta