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 efektejä?

Jotta saisit efektit käyttöön peliisi, tulee sinulla olla seuraava using-rivi kooditiedostosi alussa:

using Jypeli.Effects;

1. Yleistä efekteistä

Jotta ymmärtäisit kuinka efektit toimivat ja kuinka niitä luodaan Jypelissä, tulee sinun tietää muutamia seikkoja efekteistä.

  • Jokainen efekti joka pelissä luodaan, kuuluu johonkin efektijärjestelmään Yksi efekti koostuu aina niin sanotuista partikkeleista.

2. Räjähdys

Jokainen erilainen efekti käyttää sille tarkoitettua järjestelmää. Räjähdysefektillä tuon järjestelmän nimi on ExplosionSystem. Jotta voisit luoda räjähdyksiä, sinun täytyy kirjoittaa seuraavat rivit koodiin

# explosion1

Edellä oleva koodi antaisi seuraavanlaisen räjähdyksen:

Huomaa erityisesti seuraava rivi.

rajahdys.AddEffect(x, y, pMaara);

Tämä rivi lisää halutun efektin peliin, tässä tapauksessa räjähdyksen. Parametreista:

  • x ja y-parametrit kertovat efektin x ja y-koordinaatit, eli paikan. pMaara-parametri kertoo kuinka monta partikkelia luotava efekti käyttää. Yhdellä järjestelmällä voidaan tehdä monta räjähdystä, ja kaikilla räjähdyksillä yhdessä on käytössä järjestelmän pMax kappaletta partikkeleita käytössään. Esim. jos tehdään ExplosionSystem rajahdys jonka partikkeleiden maksimi on 50, ja lisätään 3 räjähdystä, jossa kussakin 20 partikkelia, niin partikkelit "loppuvat kesken", ja silloin partikkeleita aletaan tuhoamaan vanhemmasta päästä. (Eli ensin luodut partikkelit tuhotaan ensin.)

Hyvin vanhan efektejä esittelevä video

2.1 Räjähdyksen mukauttaminen

Räjähdyksellä on paljon ominaisuuksia, joilla voi muokata räjähdyksen ulkonäköä haluamakseen. Tässä niistä muutama.

Ominaisuus T yyppi m erkitys S elitys
MinLifeTime d ouble a ika sekunteina Ef ektin partikkelin lyhin mahdollinen elinaika.
MaxLifeTime d ouble a ika sekunteina Ef ektin partikkelin pisin mahdollinen elinaika.
MinVelocity d ouble Pi enin nopeus, jo ka efektin partikkelilla voi olla.
MaxVelocity d ouble Su urin nopeus, jo ka efektin partikkelilla voi olla.
MinScale double P ienin skaalaus j oka efektin partikkeleilla voi olla. (Luku 1 tarkoittaa että partikkelin koko on tekstuurin koko.)
MaxScale double S uurin skaalaus j oka efektin partikkeleilla voi olla.
MinRotationSpeed double P ienin pyörimisnopeus j oka efektin partikkelilla voi olla.
MaxRotationSpeed double S uurin pyörimisnopeus j oka efektin partikkelilla voi olla.

2.2 Sopivien ominaisuusarvojen etsiminen

Räjähdyksen arvoja voit kokeilla yllä olevassa esimerkissä vaihtelemalla arvoja tai lisäämällä uusia parametreja.

2.3 Räjähdys toisella tavalla

# explosion2

3. Liekki

Liekkiefekti käyttää Flame nimistä efektijärjestelmää. Liekin voisi esimerkiksi luoda seuraavalla tavalla:

# flame1

Kuten räjähdyksessäkin, tämä rivi alustaa uuden liekkijärjestelmän, joka huolehtii liekin piirtämisestä ja päivittämisestä.

  • kuva-parametri määrittää mitä kuvaa liekin hiukkaset käyttävät.
  • Huomaa että liekki on "jatkuva" efekti, joten sille ei tarvitse antaa hiukkamäärää.
Add(liekki);

Kuten räjähdyksessäkin, tämä rivi lisää liekkijärjestelmän peliin, mutta toisin kuin räjähdysjärjestelmä, tämä on välittömästi toiminnassa.

3.1 Liekin mukauttaminen

Liekillä on samat muokkausmahdollisuudet kuin räjähdykselläkin. Joitain hyödyllisiä ominaisuuksia voi olla mm.

  • MaxAngleChange, joka määrittää kuinka "leveälle" liekki leviää.
  • Min- ja MaxLifeTime, kuinka korkealle liekki nousee.
  • Min- ja MaxVelocity, kuinka nopeasti liekin hiukkaset liikkuvat

4. Savu

Valmiin savuefektin saa luotua Smoke-efektin avulla.

Savu käyttäytyy hyvin samalla tavalla kuin tuli, mutta sille Jypelistä löytyy valmis kuva.

Smoke savu = new Smoke();
Add(savu);
# smoke1

Omasta kuvasta luotu savuefekti luodaan antamalla uudelle savulle parametrina kuva ja savun leveys.

Smoke savu = new Smoke(savuHiukkasenKuva, 10);

Ulomman savuhiukkasen kuvan voi asettaa erikseen:

savu.OuterParticleImage = ulommanSavuHiukkasenKuva;

Savuefektillä on lisäksi monia samoja ominaisuuksia kuin muillakin efekteillä. Ominaisuuksien arvoja muuttamalla voi savusta muokata juuri mieleisensä.

5. Tuuli

Efektien käyttäytymiseen voi myös vaikuttaa tuulen avulla. Tuuli vaikuttaa ainoastaan efekteihin, ei mihinkään muuhun.

Tuulen asettaminen onnistuu samalla tavalla kuin painovoiman:

# wind1

Esimerkki tuulesta aiemman tuliefektin kanssa:

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.