Objektit
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: Objektit
Ampuminen perustuu oikeastaan vain siihen, että luot luodin ja sitten tiedät onko se olemassa ja missä se on. Tämän tiedon avulla voit muunmuassa näyttää sen pelaajalle ja tehdä sillä kaikenlaista. Tämä tapahtuu muuttujilla, mutta koska luoteja voi olla miten paljon vain, tyyppikokoelmat ovat järkevin ratkaisu. Yleensä tähän käytetään vielä objekteja, koska niitä on helppo hallita pienellä koodimäärällä. Toivottavasti selkeytti asiaa, tuohon manuaalin bugaamiseen en osaa sanoa mitään :D
Re: Objektit
Editoin otsikkoa ja en enään tarvitse apua ampumiseen.Grandi wrote:Ampuminen perustuu oikeastaan vain siihen, että luot luodin ja sitten tiedät onko se olemassa ja missä se on. Tämän tiedon avulla voit muunmuassa näyttää sen pelaajalle ja tehdä sillä kaikenlaista. Tämä tapahtuu muuttujilla, mutta koska luoteja voi olla miten paljon vain, tyyppikokoelmat ovat järkevin ratkaisu. Yleensä tähän käytetään vielä objekteja, koska niitä on helppo hallita pienellä koodimäärällä. Toivottavasti selkeytti asiaa, tuohon manuaalin bugaamiseen en osaa sanoa mitään
Re: Objektit
Objektien törmäysten tarkastaminen on aika helppoa.
Ylempi koodi lisää tekstin vain kerran kun törmätään, ja uudestaan kun objektit ovat eronneet toisistaan ja törmäävät uudestaan. Toinen tapa olisi muuten käyttää CountCollisions()-funktiota ja GetCollision():ia, mutta se on monimutkaisempi. Tämä tarkastaa, ovatko objektit päällekkäin.
Code: Select all
ukko = LoadObject("media/guy.bmp")
lehma = LoadObject("media/cow.bmp")
Repeat
If ObjectsOverlap(ukko,lehma) then
If viimeksitormattiin = 0 then 'jos viime framessa EI ole törmätty
AddText "Törmätään!"
viimeksitormattiin = 1 'merkitään, että on törmätty
EndIf
Else
viimeksitormattiin = 0 'jos ei törmätä, merkitään että viime framessa ei törmätty
EndIf
DrawScreen
Forever
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: Objektit
Nyt ajattelen että miten saisi jos ammus osuisi objektiin ja sitten objekti tuhoituisi. Miten onnistuisi?
Ja voisitko kertoa "helpommin" tuon koodin. Eli ei mtn esimerkkejä, vain se koodi.
Ja voisitko kertoa "helpommin" tuon koodin. Eli ei mtn esimerkkejä, vain se koodi.
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: Objektit
Siis tarkoitatko tuhoutumisella sitä, että veret lentää vai sitä että objekti vain häviää. Ensimmäisen(veret lentää) saat toteutettua animaatiolla jonka CloneObjectPositionilla laitat ukon kanssa samaan kohtaan. Jälkimmäisen(häviää) saat vain DeleteObjectilla.
Ja koodeja en ala vääntämään, koska muuten kopioit ne, etkä opi mitään.
Ja koodeja en ala vääntämään, koska muuten kopioit ne, etkä opi mitään.
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
Re: Objektit
If CountCollisions(botti) Then
DeleteObject botti
EndIf
Jos teen tuon, niin tulee MAV (Memory access violation).
DeleteObject botti
EndIf
Jos teen tuon, niin tulee MAV (Memory access violation).
-
- Active Member
- Posts: 126
- Joined: Wed Aug 29, 2007 3:55 pm
Re: Objektit
No kai se vääntää mavia, kun tuhoat objectin ja sen jälkeen yrität sen jälkeen vielä tarkistaa, törmääkö se.
EDIT:
Ja kaikki muutkin objektiin vaikuttavat komennot aiheuttavat mavin
Tiimit ja tuotokset:
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
RE:Ydintuho
Drahtlose:Infernalisch, Pienet pelit
Re: Objektit
Onko CB:ssä koodia, jolla voisi tuhota funktion?
Esim:
If CountCollisions(botti) Then
DeleteObject botti
destoryfunction (funktio)
EndIf
Esim:
If CountCollisions(botti) Then
DeleteObject botti
destoryfunction (funktio)
EndIf
Re: Objektit
mihin sellasta tarvitaan?
50 viesti \o/
50 viesti \o/
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: Objektit
E ole, eikä tule. Saahan se funktio möllöttää kaikessa rauhassa vaikka et sitä tarvisikaan.Jormalaz wrote:Onko CB:ssä koodia, jolla voisi tuhota funktion?
Esim:
If CountCollisions(botti) Then
DeleteObject botti
destoryfunction (funktio)
EndIf
EDIT: Maailman kehittynein ja modernein kieli - Grandi++ - tukee tätä toiminta B)
Re: Objektit
Mutta miten helvetissä saan sitten sen CountCollisions funktion pois?
If CountCollisions(botti) Then
DeleteObject botti
EndIf
Tuolla tavalla tulee se MAV...
If CountCollisions(botti) Then
DeleteObject botti
EndIf
Tuolla tavalla tulee se MAV...
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: Objektit
käytä muuttujaa joka kertoo onko botti elossa vaikka bottikuollu=False sitten
Code: Select all
if bottikuollu=false then
if törmää then
delete botti
bottikuollu=true
endif
endif
Re: Objektit
Hmm... En oikein tajunnut tuota, mutta koitetaan.tuhoojabotti wrote:käytä muuttujaa joka kertoo onko botti elossa vaikka bottikuollu=False sittenCode: Select all
if bottikuollu=false then if törmää then delete botti bottikuollu=true endif endif
Re: Objektit
Lisäät tarkistuksen, että onko objekti Olemassa !!
oho, tuhoojabotti kerkesi ensin
Code: Select all
if bottiolemassa = true
If CountCollisions(botti) Then
bottiolemassa = false
DeleteObject botti
EndIf
endif
-On selkeästi impulsiivinen koodaaja joka...
Re: Objektit
Voisitteko selittää, miten tuo cloneobject toimii. Haluaisin tehdä sen kanssa botista "kopion". Mitenköhän onnistuu?
Re: Objektit
Cloneobject() luo uuden objektin, jolla on sama kuva ja pyöritysarvo kuin sulkujen sisällä olevalla objektilla. Eli:
Tämän jälkeen molempia voi käyttää erikseen (liikuttamiset ja muut vastaavat).
Code: Select all
kopioitava = LoadObject("media/guy.bmp")
uusi = CloneObject(kopioitava)
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)