Mikä on selkein ja yksinkertaisin tapa tunnistaa kopio-objektit, kun ne törmää toisiin kopio-objekteihin. Jos ohjelmassa on satoja objekteja joihin törmäilee muita objekteja laumoittain ? Jotenkin en saa kaavoja täsmäämään keskenään. Pelihahmo tunnistaa objektit, mutta pelihahmon ampumat kopio-luodit eivät tuhoa muita kopio-objekteja. Kyseessä tasohyppely, jossa kerätään esineitä kulkemalla pelihahmolla ja sen osan kone tunnistaa. Mutta jos haluan tuhota esineen ampumalla niin ammukset tunnistaa kentän ja tuhoutuvat, muttei kopio-objekteja. Kuinka SetupCollision kannataisi tehdä ? Voiko johtua siitä, että kerättävät luodaan ennen looppia ja panokset vasta painettaessa spacea ? Missä järjestyksessä tulisi tunnistukset tehdä ?
Käsitykseni mukaan kloonien pitäisi periä isännän ominaisuudet, vai ?
Objektien tunnistus
Re: Objektien tunnistus
Tyyppikokoelmat on isojen objekti laumojen hallintaan paras. Kannattaa ensin tutustua ammukset esimerkkiin.
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Objektien tunnistus
Kyllä olen tutustunut esimerkkeihin, mutta niissä ei tarkisteta luodin osumista klooni-objekteihin.
Rajoitukset on tehty aluerajoina. Aseet tekevät minulla laumoittain luoteja, jotka poistuvat kyllä map:iin osuessaan.
Mutta tunnistus ei toimi klooni-luotien osuessa muihin klooni-objekteihin.
Kloonit kyllä poistuvat mikäli pelihahmo kävellässään osuu niihin, mutta klooni-luodilla ammuttaessa luoti ei tunnista klooni-objekteja.
Pelihahmo on yksi objekti, joka maalataan kuvasarjalla. Mutta luodit ovat klooneja isännästä.
Mikäli tämä selvensi .
Täytyykö siis kloonien törmäykset klooneihin esitellä koneelle eri tavalla, jos niitä molempia on satoja?
SetupCollision-käskyjä olen yrittänyt, jos johonkin suuntaan, mutta ei vaan skulaa.
Rajoitukset on tehty aluerajoina. Aseet tekevät minulla laumoittain luoteja, jotka poistuvat kyllä map:iin osuessaan.
Mutta tunnistus ei toimi klooni-luotien osuessa muihin klooni-objekteihin.
Kloonit kyllä poistuvat mikäli pelihahmo kävellässään osuu niihin, mutta klooni-luodilla ammuttaessa luoti ei tunnista klooni-objekteja.
Pelihahmo on yksi objekti, joka maalataan kuvasarjalla. Mutta luodit ovat klooneja isännästä.
Mikäli tämä selvensi .
Täytyykö siis kloonien törmäykset klooneihin esitellä koneelle eri tavalla, jos niitä molempia on satoja?
SetupCollision-käskyjä olen yrittänyt, jos johonkin suuntaan, mutta ei vaan skulaa.
Re: Objektien tunnistus
Siis haluat että ammukset tuhoutuvat osuessaan toisiinsa? Tähän oli joku ihme härö tapa, mutta näinkin muistaakseni toimi:
Eli siis käydään samat luodit läpi luoti-luupissa jolloin se tarkistaa jokaisen luodin törmäyksen jokaiseen luotiin, tämä tosin on virhealtis, jos molemmista luupeista tulee sama luoti.. eli katsotaan luodin overlap itseensä, tämän virheen poistaa rivi 3.
Code: Select all
For a.ammus = Each ammus
For a2.ammus = Each ammus
If a <> a2 Then
If ObjectsOverLap(a\obj, a2\obj) Then
// mitä tapahtuukin...
EndIf
EndIf
Next a2
Next a
Re: Objektien tunnistus
Tässä on yksinkertainen luotikokoelman objektien välinen törmäys;
Code: Select all
//Tähän kohtaan tulee luodin ampumis koodi...
For luoti.AMMUKSET = each AMMUKSET
For Bluoti.AMMUKSET = each AMMUKSET
If Bluoi <> luoti Then SetUpCollision Bluoti\obj, luoti\obj, 2, 2, 2 : SetUpCollision luoti\obj, Bluoti\obj, 2, 2, 2
Next Bluoti
Next luoti
//Tästä alaspäin päivitetään luodit.
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Objektien tunnistus
Kiitos, ongelma selvisi. Olin jo kokeillut kaikkea, mutta sisäkkäiset for-next jäi kokeilematta .
Mutta nyt aseet ovat liian tehokkaita, koska tuhoavat myös kuvaruudun ulkopuolella.
Mutta nyt aseet ovat liian tehokkaita, koska tuhoavat myös kuvaruudun ulkopuolella.
Re: Objektien tunnistus
Aseta vaikkapa aseiden luodeille tyyppikokoelmaan uusi Field matkaLennetty ja lisää sitä aina samalla kun siirrät loopissa ammuksia (MoveObject-kohta siis) ja teet vaikka samassa loopissa tarkastuksen, jos kyseisen jäsenen matkaLennetty arvo on vaikkapa suurempi kuin 400 ja poista se.RaatoX wrote:Mutta nyt aseet ovat liian tehokkaita, koska tuhoavat myös kuvaruudun ulkopuolella.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: Objektien tunnistus
Kiitos, näin teen. Ja Kiitos kaikille avustaneille ! Taas projekti etenee