Huom! Nämä wikisivut ovat osittain vielä työn alla, osa sisällöstä saattaa olla puutteellista. Ongelmakohtien viereen voit jättää kommentin, yliopiston käyttäjät myös pystyvät (ja saavat) muokata sivuja.
Jypelin käyttöohjeet » Miten peliin saa räjähdyksen?

Tällä sivulla opastetaan yksinkertaisen räjähdyksen tekeminen. Tällä sivulla olevilla ohjeilla räjähdyksestä syntyy myös paineaalto, joka vaikuttaa pelissä oleviin fysiikkaolioihin.
Jos haluat tehdä vähän monimutkaisemman ja näyttävämmän räjähdyksen, josta ei synny paineaaltoa (eli on pelkkä visuaalinen efekti) katso Efektit/räjähdys.
1. Räjähdyksen luominen
Räjähdyksen voi luoda seuraavalla tavalla:
- Esimerkiksi yläpuolella
- Rivi: luodaan räjähdys, jonka halkaisija on 50.
- Rivi: määritetään räjähdyksen sijainti. Yläpuolella olevassa esimerkissä räjähdys on asetettu samaksi kuin olion, joka esimerkiksi tuhoutuu.
- Rivi: räjähdys lisätään kenttään, jolloin se näkyy ja vaikuttaa muihin olioihin pelikentällä.
2. Ominaisuudet ja ulkonäkö
Räjähdyksen nopeutta ja paineaallon voimakkuutta voi säädellä räjähdyksen ominaisuuksista.
rajahdys.Speed = 500.0;
rajahdys.Force = 10000;
Räjähdyksellä on valmiina oletustekstuuri ja -ääni. Voit myös halutessasi vaihtaa ne toisiksi (kts. sivut tekstuurin lisääminen ja äänet peliin). Kuvan tai äänen saa pois räjähdykseltä asettamalla sen arvoksi null.
rajahdys.Image = rajahdysKuva;
rajahdys.Sound = rajahdysAani;
Lisäksi räjähdyksen paineaallon väriä voi muuttaa. Jypelin valmiit värit eivät ole läpinäkyviä, joten ne peittävät räjähdykselle annetun kuvan.
Voimme kuitenkin itse määrittää uuden värin, jossa on mukana läpinäkyvyys.
//Paineaallon väri peittää räjähdyksen kuvan:
rajahdys.ShockwaveColor = Color.Yellow;
//Läpinäkyvä väri päästää läpi räjähdyksen kuvan
//Kolme ensimmäistä parametria ovat värin punaisen, vihreän ja sinisen värin määrä
//Neljäs parametri on värin läpinäkyvyys
//Parametrien arvot ovat väliltä 0 - 255.
rajahdys.ShockwaveColor = new Color(255, 0, 150, 90);
3. Paineaallon tapahtuma
Räjähdykselle saa myös kutsumaan omaa aliohjelmaa, kun paineaalto osuu johonkin olioon.
rajahdys.ShockwaveReachesObject += PaineaaltoOsuu;
tai yhteen tiettyyn olioon
rajahdys.AddShockwaveHandler(olio, PaineaaltoOsuu);
tai useaan tietyn tyyppiseen olioon, joilla on kaikilla sama Tag-ominaisuuden arvo (tässä "taso"):
rajahdys.AddShockwaveHandler("taso", PaineaaltoOsuu);
Aliohjelman tulee näyttää parametreiltaan tältä:
void PaineaaltoOsuu(IPhysicsObject olio, Vector shokki)
{
// tehdään jotain
}
missä olio on olio, johon paineaalto on osunut, ja shokki vektori, jonka suuntaan räjähdys on oliota heittänyt.
4. Paineaallon huomiotta jättäminen
Jos haluat, että paineaallot eivät vaikuta johonkin olioon, voit kirjoittaa:
pelaaja1.IgnoresExplosions = true;
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.