wiki:AutoRataOhje

Version 9 (modified by tekrjant, 8 years ago) (diff)

--

Jypelin käyttöohjeet » Radan luominen autopeliin

HUOM! Vaatii Jypelistä vähintään version 2.2.1.

Radan luominen:

  • Luettele reittipisteet taulukossa
  • Luo uusi RoadMap-olio (tässä nimellä tie)
  • Aseta radalle leveys (tie.DefaultWidth = 100.0;)
  • Kutsu lopuksi tie.Insert();

Reittipisteistä muodostuu rata seuraavasti:

Esimerkkikoodi:

Vector[] reittiPisteet = new Vector[]
{
    new Vector( -255.0, -124.0 ),
    new Vector( -252.0, -131.0 ),
    new Vector( -201.0, -214.0 ),
    // ...
};


void LuoRata()
{
    RoadMap tie = new RoadMap( reittiPisteet );
    tie.DefaultWidth = 100.0;
    tie.Insert();
}

Radan segmenttien luominen itse

RoadMap-luokalla tehty rata koostuu itse asiassa pienistä segmenteistä, jotka asetetaan toistensa perään. Joskus on kätevää, että segmentti-oliot voi luoda itsekin. Esimerkiksi jos halutaakin tehdä kaide, johon voi törmätä, pitäisi luotavien olioiden olla fysiikkaolioita. Tällainen onnistuu määrittämällä oma aliohjelma, jolla segmentit luodaan:

void LuoKaide()
{
    RoadMap kaide = new RoadMap(reittiPisteet);
    kaide.DefaultWidth = 30.0;
    kaide.CreateSegmentFunction = LuoKaiteenPatka;
    kaide.Insert();
}

PhysicsObject LuoKaiteenPatka(double width, double height, Shape shape)
{
    PhysicsObject patka = PhysicsObject.CreateStaticObject(width, height, shape);
    patka.Color = Color.Brown;
    Add(patka);
    return patka;
}