Closed aXu-AP closed 12 years ago
CB:ssä pysähdystörmäys bugaa hyvin vahvasti enkä ole onnistunut saamaan sitä toimimaan myöskään cbE:ssä. Tässä tapauksessa olen vaan laittanut tuon toimimaan samalla tavalla kuin CB että ei palauta törmäyskoordinaatteja.
Pitänee korjailla jossain välissä.
Eihän tässä ole kyse pysähdystörmäyksestä vaan ympyrä=>kartta törmäyksestä. Esimerkissänikin käytän liukutörmäystä.
Kas. Noh, kyllä tuon törmäyspisteen haun pitäisi melko helpolla onnistua. Koitanpa...
Oli se loppujen lopuksi melko yksinkertainen homma mutta sain vähän silti säädellä :P mutta nyt on tehty.
Oikeastaan nyt kun miettii, törmäyspiste on ympyrälle aina
CollisionX = ObjectX + Cos(CollisionAngle) * ObjectRange
CollisionY = ObjectY + Sin(CollisionAngle) * ObjectRange
Eipä ole. Koska collisionangle palauttaa aina 0, 90, 180 tai 270 koska CB.
Eiku joo tuohan pitää olla -Cos, koska CollisionAngle on seinästä poispäin. Ja +Sin oli oikein, koska maailmakoordinaatit. Joko nyt meni oikein?
ei mennyt. CB asettaa ympyrätörmäystarkistuksissakin törmäyskulman aina vain jonkin seuraavista: 0, 90, 180, 270. Saman tekee cbE. Jos haluat oikeat asteet, käytät nyt noita uusia törmäyspaikkoja ja lasket getanglella sen kulman.
Jos nyt viittaat laatikon kulmaan törmäämiseen, niin CB laskee mainitsemallani tavalla törmäyspisteen, eli sen ei ole tarkoituskaan olla oikeassa kohdassa ;) Ympyrä-ympyrä-törmäyksissä puolestaan collisionangle tuottaa tarkkoja lukuja muistaakseni. EDIT: Eikun hetkinen, mietin juuri laatikkotörmäystä, cb:ssähän ei tosiaan pallo-kartta-törmäys tuottanut törmäyskoordinaatteja :D eli taidat olla oikeassa.
Ei tuota.
Eikun niin siis tuottaa joo. Mutta karttaan törmäys ei
Vietinpä koko aamun etsieesä ongelmaa koodistani, kunnes löysin sen cbe:stä. CollisionX ja -Y palauttavat nollan, jos törmäystyyppi on ympyrä, kartta. Esimerkissä punainen pallo pitäisi ilmestyä aina törmäyskohtaan:
Jännästi sama bugi toistuu alkuperäisellä cb:llä, mutta eihän cbe:n ole tarkoitus bugeja kopioida? ;)