PyroMax - ilotulituskirjasto
Posted: Tue Aug 28, 2007 11:35 pm
Tämä ei nyt ehkä vuodenaikaan juuri liity, eikä tästä sen enempää hyötyä ole, mutta laitetaan silti tänne. Jos vaikka aloittelevat koodarit innostuisivat tutkimaan koodia... Tämä kätevä pikku kirjasto mahdollistaa eri tyyppisten ilotulitusesitysten luomisen, vaikka koodaustaidot olisivat liki nolla. Kirjasto perustuu dynaamiseen muistinhallintaan ja väkisinväännettyhin linkitettyihin listoihin (omiin sellaisiin). Näin olen saanut mahdollisimman joustavan ja nopean alustan teille pyromaaneilla (siitä nimikin ).
PyroMax on äärettömän helppo käyttää: teidän tarvitsee muistaa vain viisi (5) komentoa:
Kirjaston käyttö on seuraava:
1) luo raketti ja anna sille ominaisuudet
2) lisää rakettiin efekti (panos)
3) toista kohtia 1 ja 2 niin pitkään kuin haluat
4) alusta systeemi PYRO_InitAll()-metodilla
5) päivitä systeemi PYRO_UpdateAll()-metodilla
6) nauti ilotulituksesta!
Seuraavassa esimerkki ohjelman koodista, joka luo n. 30 sekuntia ilotulitusta:
Ilotulitukset voi myös parsia tiedostosta PYRO_ParseScript(file$)-funktiolla. Todella yksinkertainen esimerkkitiedosto voi näyttää esimerkiksi tältä:
Tietysti nuo "//"-merkit tulee jättää alusta pois, sillä tämä koodi on otettu itse kirjaston esimerkeistä, joten CB-kommentit ovat pakollisia. Huomaathan, että skripti-tiedoissa kommentit lisätään #-merkillä. Jos käytät jotain muuta tapaa, parsija ilmoittaa virheen ja lopettaa ohjelman. Skripti-tiedostot voivat olla vaikka miten pitkiä. Skripti-tiedostoja voi myös parsia useamman kappaleen samaan systeemin, joten ilotulitus-datan ylläpitohelpottuu skriptien pysyessä pieninä.
Seuraavassa esimerkki skripti-tiedoston käyttämisestä kirjaston kanssa:
Mutta nyt kaikki tarpeellinen on kerrottu: voitte kokeilla itse! Paketti sisältää PyroMax.cb-kirjaston, joka pitää liittää omiin projekteihin mukaan. Lisäksi se sisältää kaksi esimerkkikoodia (kts. ylempää) sekä esimerkkiskriptin ("sample_pyro.ini").
Iloisia tulituksia!
Lataa PyroMax
PyroMax on äärettömän helppo käyttää: teidän tarvitsee muistaa vain viisi (5) komentoa:
Code: Select all
PYRO_CreateRocket
PYRO_AttachEffect
PYRO_InitAll
PYRO_UpdateAll
PYRO_ParseScript
1) luo raketti ja anna sille ominaisuudet
2) lisää rakettiin efekti (panos)
3) toista kohtia 1 ja 2 niin pitkään kuin haluat
4) alusta systeemi PYRO_InitAll()-metodilla
5) päivitä systeemi PYRO_UpdateAll()-metodilla
6) nauti ilotulituksesta!
Seuraavassa esimerkki ohjelman koodista, joka luo n. 30 sekuntia ilotulitusta:
Code: Select all
SCREEN 800,600,0
Include "PyroMax.cb"
For i = 1 To 50
// LUODAAN 50 RAKETTIA (kts. parametrit kirjaston funktioista
// niissä ON hyvä dokumentaatio
r = PYRO_CreateRocket(Rand(200,600), 600, Rand(70,110), Rand(50,170), Rand(255), Rand(255), Rand(255), Rand(1000,30000), Rand(500,1500), Rand(15,40), Rand(100,300))
ec = Rand(1,5)
// lisätään jokaiselle raketille 1-5 efektiä
For a = 1 To ec
PYRO_AttachEffect(r, Rand(30,70), Rand(50,170), Rand(255), Rand(255), Rand(400,1500), Rand(150, 500))
Next a
Next i
// alustetaan systeemi
PYRO_InitAll()
Repeat
// päivitetään systeemi
PYRO_UpdateAll()
__DEBUG_PrintStats(0,0)
DrawScreen
Forever
Ilotulitukset voi myös parsia tiedostosta PYRO_ParseScript(file$)-funktiolla. Todella yksinkertainen esimerkkitiedosto voi näyttää esimerkiksi tältä:
Code: Select all
// NEW ROCKET
//
// # seuraavaksi lisätään kaikki raketin tiedot (tämä on kommentti)
// R=124 # raketin väri
// G=0
// B=190
// X=400 # raketin alkusijainti
// Y=600
// ANGLE=87 # raketin kulma
// SPEED=170 # raketin nopeus
// LAUNCH_TIME=1500 # millisekunteina PYRO_InitAll()-komennosta
// EXP_TIMER=700 # räjähdysaika millisekunteina laukaisusta
// POWER=20 # räjähdysvoima
// TAIL=130 # raketin "hännän" pituus. tämän voi jättää pois, oletusarvo on 100
//
// # raketin esittelyn sisällä voidaan (ja pitääkin) esitellä raketin käyttämät erikoiseffektit
// NEW EFFECT
// # taas säädetään asetukset kuntoon
// R=251
// G=25
// B=106
// SPEED=80
// LIFE_TIME=400 # millisekunteina luonnista (isäntäraketin räjähdyksestä)
// TAIL=210 # efektin "hännän" pituus. tämän voi jättää pois, oletusarvo on 150
// END EFFECT
//
// # häntiä voi luoda raketille niin paljon kuin haluaa
// NEW EFFECT
// R=85
// G=210
// B=75
// SPEED=95
// LIFE_TIME=200
// END EFFECT
//
// END ROCKET
Seuraavassa esimerkki skripti-tiedoston käyttämisestä kirjaston kanssa:
Code: Select all
SCREEN 800,600,0
Include "PyroMax.cb"
// parsitaan skripti systeemiin
PYRO_ParseScript("sample_pyro.ini")
// alustetaan systeemi
PYRO_InitAll()
Repeat
// päivitetään systeemi
PYRO_UpdateAll()
__DEBUG_PrintStats(0,0)
DrawScreen
Forever
Mutta nyt kaikki tarpeellinen on kerrottu: voitte kokeilla itse! Paketti sisältää PyroMax.cb-kirjaston, joka pitää liittää omiin projekteihin mukaan. Lisäksi se sisältää kaksi esimerkkikoodia (kts. ylempää) sekä esimerkkiskriptin ("sample_pyro.ini").
Iloisia tulituksia!
Lataa PyroMax