Toiminnallisuuksien lisääminen
Toiminnallisuudet (Behaviors) ovat Constructin valmiiksi ohjelmoituja ominaisuuksia. Voit esimerkiksi lisätä Platform-toiminnallisuuden objektiin ja Solid-toiminnallisuuden pohjaan ja saat heti liikkuvuuden toimimaan kuten tasohyppelypelissä. Voisit tehdä saman tapahtumien (events) puolella, mutta siinä kestäisi kauemmin eikä siinä ole järkeä jos saat "valmiilla palikoilla" jo aikaan sen mitä haluat. Joten katsotaan hieman minkälaisia valmiita toiminnallisuuksia voimme käyttää. Construct 2 sisältää muun muassa nämä toiminnallisuudet;
- 8 Direction movement. Tämän toiminnallisuuden avulla pystyt liikuttamaan objektia nuolinäppäimillä. Toimii mainiosti pelaajan liikuttelemiseen.
- Bullet movement. Tämä yksinkertaisesti siirtää objektia eteenpäin senhetkisessä kulmassa. Toimii hyvin esimerkiksi luoteihin. Nimestä huolimatta toimii hyvin myös vihollisten liikuttelemiseen, sillä kaikki mitä toiminnallisuus tekee on objektin liikuttaminen eteenpäin halutulla nopeudella.
- Scroll to. Tällä saat näytön seuraamaan liikkuvaa objektia (tunnetaan myös scrollauksena). Tämä on kätevää pelaaja-objektille.
- Bound to layout. Tämä estää objektia lähtemästä layoutilta. Hyödyllinen ominaisuus myös pelaaja-objektille, jotta pelaaja ei voi vaeltaa ulos pelin alueelta.
- Destroy outside layout. Estämisen sijaan, tämä ominaisuus tuhoaa objektin jos se lähtee layoutilta. Hyödyllinen ominaisuus luodeille. Ilman sitä, luodit lentäisivät ikuisesti ruudun ulkopuolella syöden hieman muistia ja prosessointitehoa. Välttääksemme tämän, tuhoamme objektit layoutin ulkopuolella.
- Fade. Tämä ominaisuus häivyttää objektin vähitellen, mitä tulemme käyttämään räjähdyksiin.
Lisätään nämä toiminnallisuudet niihin objekteihin jotka niitä tarvitsevat.
Kuinka lisätä toiminnallisuus
Lisätään 8 direction movement-toiminnallisuus pelaaja-objektiin. Klikkaa pelaajaa valitaksesi sen. Objektin asetuksissa, eli properties-valikossa, huomaa Behaviors kategoria. Klikkaa Add / Edit. Pelaajaobjektin toiminnallisuusvalikko avautuu.
Klikkaa vihreää 'add behavior' ikonia. Tuplaklikkaa 8 direction movementia lisätäksesi sen.
Toista sama uudestaan, mutta tälläkertaa valitse Scroll To-toiminnallisuus, saadaksesi ruudun seuraamaan pelaajaa ja Bound to layout, pitääksesi pelaajan layoutin sisällä. Toiminnallisuusvalikon tulisi nyt näyttää tältä:
Sulje toiminnallisuusikkuna. Klikkaa 'Run'-painiketta kokeillaksesi peliä!
Toivottavasti sinulla on HTML5-yhteensopiva selain asennettuna. Muutoin, asenna viimeisin versio Firefoxista, Chromesta tai Internet Explorerista jos käyttöjärjestelmäsi on Vista tai uudempi. Kun saat pelin pyörimään, huomaa että pystyt jo liikkumaan nuolinäppäimillä ja ruutu seuraa pelaajaa! Et voi myöskään kävellä layout-alueen ulkopuolelle kiitos 'Bound to layout'-toiminnallisuuden. Tähän valmiit toiminnallisuudet toimivat parhaiten. Tulemme käyttämään tapahtumajärjestelmää (event system) pian, lisätäksemme kustomoitua toiminnallisuutta.
Muiden toiminnallisuuksien lisääminen
Voimme lisätä toiminnallisuuksia muihin objekteihin samalla tavalla - valitse objekti, klikkaa Add / Edit avataksesi toiminnallisuusvalikon ja lisää toiminnallisuuksia. Lisätään seuraavat toiminnallisuudet:
- Lisää Bullet movement- ja Destroy outside layout-toiminnallisuudet Bullet objektiin (ei mitään ihmeellistä tässä)
- Lisää Bullet movement objektiin Monster (Koska ne tulevat myös liikkumaan vain eteenpäin)
- Lisää Fade-toiminnallisuus objektiin Explosion (jotta se häivettyy pois ilmestymisen jälkeen). Oletuksena 'Fade' myös tuhoaa objektin kun sitä ei enään näy, joten meidän ei tarvitse huolehtia että näkymättömät Explosion-objektit hidastaisivat peliä.
Jos kokeilet peliä, saatat huomata ainoan eron olevan se, että jos näet yhtään hirviöitä, ne vilahtavat nopeasti näkymän ohi. Hidastetaan niitä rauhallisempaan nopeuteen. Valitse Monster-objekti. Huomaa kuinka toiminnallisuuksien lisäämisen jälkeen asetuksiin on ilmestynyt hieman lisää muuttujia:
Näillä muuttujilla pystymme säälemään kuinka toiminnallisuudet toimivat. Muuta nopeus 400 -> 80 (kuinka monta pikseliä objekti liikkuu sekunnissa).
Samalla tavalla, muuta Bullet objektin nopeudeksi 600, ja Explosion objektin Fade-toiminnallisuuden Fade out time arvoksi 0.5 (puolisekunttia).
Luo lisää hirviöitä
Pidä Ctrl-nappulaa pohjassa ja vetäise Monster-objektia. Huomaat että se luo itsestään kopion. Tämä on yksinketaisesti toinen objekti Monster-objektityypistä.
Objektityypit ovat periaatteessa objektien 'ryhmiä'. Tapahtumajärjestelmässä (event system) toimit pääasiassa objektityyppien kanssa. Esimerkiksi, saatat haluta tehdä tapahtuman (event), joka sanoo "Luoti (Bullet) törmää hirviöön (Monster)". Tämä itseasiassa tarkoittaa: "Mikä tahansa Bullet-objektityypin instanssi törmää mihin tahansa Monster-objektityyppiin - sen sijaan että tarvitsisi tehdä oma tapahtuma jokaiselle eri hirviölle. Spriteillä, kaikki objektityyppien instanssit jakavat samat grafiikat. Tämä on tärkeää tehokkuuden kannalta - kun pelaajat pelaavat peliäsi, sen sijaan että tarvitsisi ladata 8 kuvatiedostoa 8 hirviölle, heidän tietokoneensa tarvitsee ladata vain yksi monster-kuva ja Construct 2 toistaa sen 8 kertaan. Vertaamme objektityyppejä ja instansseja myöhemmin. Toistaiseksi, hyvä esimerkki on ajatella erilaisia hirviöitä omina objektityyppeinään, ja varsinaisia vihollisia omina instansseinaan noista objektityypeistä.
Vetämällä ja pitämällä Ctrl-nappulaa pohjassa luo 7 tai 8 uutta hirviötä. Älä aseta niitä liian lähelle pelaajaa tai ne saattavat kuolla samantien! Voit zoomata ulos Ctrl ja hiiren rullalla jos se auttaa ja levitellä hirviöt ympäri layouttia. Suurinpiirtein tähän tyyliin:
Nyt on aika lisätä kustoimoitua toiminnallisuutta Construct 2:n visuaalisella ohjelmointimenetelmällä, nimeltään Event System.