Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Etäisyys ja suunta erikoistapauksessa

DumTom [28.08.2010 03:57:47]

#

Aloittelen erästä peliä jossa lennellään häkkyrällä edestakaisin planeetan pinnalla ja planeetan "ympäri" voi lentää.
Pelialue on 6400 pixeliä leveä.
Perässä tulevat ohjukset laskevat etäisyyttä häkkyrään ja suuntaa siihen päin.
Kaikki on ok siihen asti kun pelaaja ylittää rajan 6399->0 tai 0->6399.
Osaisiko joku neuvoa millä konstilla laskisi arvoja kun raja ylittyy niin etteivät ohjukset tee täyskäännöstä kun pelaajalta piilossa oleva raja ylittyy?

Grez [28.08.2010 11:39:37]

#

//ohjusX on ohjuksen x-sijainti
//pelaajaX on pelaajan x-sijainti

pelaajaXEtäisyys = pelaajaX - OhjusX;
if (pelaajaXEtäisyys > 3200) pelaajaXEtäisyys -= 6400;
if (pelaajaXEtäisyys < -3200) pelaajaXEtäisyys += 6400;

if (pelaajaXEtäisyys<0) {
    //Ohjuksen pitää mennä vasemmalle
} else {
    //Ohjuksen pitää mennä oikealle
}

DumTom [28.08.2010 13:40:24]

#

Kiitos Grez!

Vastaus

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

Tietoa sivustosta