Jypelin käyttöohjeet» Ruutukentän luominen

Samankaltaiset tiedostot
Jypelin käyttöohjeet» Ruutukentän luominen

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi

1. Miten tehdään peliin toinen maila?

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?

1. Taustatietoa näppäimistönkuuntelusta

Pong-peli, vaihe Rajojen tarkistus Yläreunan tarkistus. Muilla kielillä: English Suomi

Web Services tietokantaohjelmoinnin perusteet

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

GEOS 1. Ilmastodiagrammi Libre Office Calc ohjelmalla

Apuja ohjelmointiin» Yleisiä virheitä

ITKP102 Ohjelmointi 1 (6 op)

VATT Talouden rakenteet. Ohje: Pdf-dian liittäminen PowerPoint -esitykseen. Sisällys:

C# Windows ohjelmointi perusopas

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

UpdateIT 2010: Uutisten päivitys

Jypelin käyttöohjeet» Miten lisään ohjaimet peliin

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

zotero

Osa 7: Hahmojen ohjelmointi ja hienosäätö

1. HARJOITUS harjoitus3_korjaus.doc

Uutiskirjesovelluksen käyttöohje

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

KODU. Lumijoen peruskoulu

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Tekstinkäsittelyn jatko Error! Use the Home tab to apply Otsikko 1 to the text that you want to appear here. KSAO Liiketalous 1

OKLV120 Demo 7. Marika Peltonen

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

1 Yleistä Web-editorista Web-editori -dokumentin luominen Pikatoimintopainikkeet Tallenna... 3

OHJE EXCEL-MAKRON LUOMISEKSI JA MAKRON KÄYTÖSTÄ

Ohjelmoinnin jatkokurssi, kurssikoe

KTKO104 Demo 3. Marika Peltonen

Adobe Meeting podien käyttö

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Väitöskirja -mallipohja

v1.2 Huom! Piirto-ohjelmissa asioita voi tehdä todella monella tavalla, tässä esitellään yksi esimerkkitapa tällaisen käyrän piirtämiseen.

Mainoksen taittaminen Wordilla

JUnit ja EasyMock (TilaustenKäsittely)

Uuden työtilan luonti

Osaamispassin luominen Google Sites palveluun

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Rämpytysralli. Pelikehys sisältää GameObject luokan, Scene luokan, SceneManager luokan, InputListener luokan, StaticImage luokan

Tilastokeskuksen rajapintapalveluiden käyttöönotto QGISohjelmistossa

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Transkribuksen pikaopas

TAULUKKORYHMÄT. Sisällysluettelo

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

Artikkelin lisääminen

Taulukot, taulukkoryhmät Sisällysluettelo

Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla

Vahva tunnistautuminen Office palveluihin. MFA Suojauksen lisätarkistus

Päänäkymä Opiskelijan ohjeet Kurssin suorittaminen Opettajan ohjeet kurssin teko

UpdateIT 2010: Editorin käyttöohje

Outlook Web Access 1(7) OUTLOOK WEB ACCESS (OWA) SÄHKÖPOSTIN KÄYTTÖ

Selkosanakirja sdfghjklöäzxcvbnmqwertyuiopåasdfghjklöäzxcvbnmq. Tietokoneet. wertyuiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghjk 1.4.

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

SSH Secure Shell & SSH File Transfer

5. HelloWorld-ohjelma 5.1

Planssit (layouts) ja printtaus

NÄIN TEET VIDEO-MAILIN (v-mail)

Taulukot Päivi Vartiainen 1

Tulospalvelun käyttö. Ringette/Länsi-Suomen alue

Tietosuoja-portaali. päivittäjän ohje

FrontPage Näkymät

Artikkelien muokkaaminen sekä sisältöeditorin peruskäyttö

NEUVOTTELUPALVELUT NETTINEUVOTTELU PIKAOPAS

Epooqin perusominaisuudet

KÄYTTÖOHJE LATOMO VERSO

ITKP102 Ohjelmointi 1 (6 op)

TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ

BaseMidlet. KÄYTTÖOHJE v. 1.00

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Kyläsivujen InfoWeb-ohje

6. Valitse avautuneesta ikkunasta Add-painike!

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

Internet Explorer 7 & 8 pop-up asetukset

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

Ohjelmointi 2, välikoe

Netsor Webmailin käyttöohje

ASCII-taidetta. Intro: Python

GeoGebra-harjoituksia malu-opettajille

Excel Perusteet Päivi Vartiainen 1

Pelaajan tietojen lisääminen

Väitöskirja -mallipohja

TEHTÄVÄ 1.1 RATKAISUOHJEET

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Editorin käyttö. TaikaTapahtumat -käyttöohje

RYHMIEN PERUSTAMINEN OODIIN

Interaktiivinen tarinankerronta


1 Funktiot, suurin (max), pienin (min) ja keskiarvo

Kahoot! Kirjautuminen palveluun. Sinikka Leivonen

WORD TYYLILLÄ. Tietohallintokeskus Miksi tyylit? Tyylien lisääminen: joko jälkikäteen tai etukäteen

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

Transkriptio:

Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen merkki tai välilyönti vastaa tietyn kokoista ruutua pelikentässä. Voit itse päättää, minkälaista merkkiä mikäkin olio vastaa. Esimerkiksi '=' voisi olla seinä tai muu kiinteä kappale ja '*' vaikkapa tähti. 1. Kenttätiedoston pohjan lisääminen Visual Studioon Helpoin tapa on tehdä ruudukko erilliseen tekstitiedostoon, josta se sitten luetaan. Vaihtoehtoinen tapa on määrittää ruudut suoraan koodissa. HUOM! Jos teet peliä puhelimelle aloita täältä: kentän luonti content-projektin tekstitiedostosta Ruudukon lataamiseksi tiedostosta lisätään ensin kenttätiedosto projektiin, jonka jälkeen kenttä voidaan ladata koodissa. Muokataan tiedostoa vähän myöhemmin. Lisää projektiin uusi tekstitiedosto klikkaamalla projekti hiiren kakkospainikkeella, ja sen jälkeen valitsemalla Add ja New Item... Valitaan tiedostoksi tekstitiedosto Text File ja annetaan sille sopiva nimi, esimerkiksi kentta.txt. Lisätään tiedosto projektiin valitsemalla Add Tekstitiedosto tulee näkyviin Solution Explorer -ikkunaan. 2. Kentän muokkaaminen ConTextilla Nyt voit alkaa muokkaamaan tekstitiedostoa. Mikroluokissa muokkaaminen onnistuu helpoiten ConText-ohjelmalla. Avaa ConText käynnistä-valikosta, tai klikkaamalla Win + R ja kirjoittamalla context ja paina Enter. Avaa kentta.txt-tiedosto ConTextiin. Tekstitiedostoon voi nyt "piirtää" kirjoitusmerkeillä haluamansa kentän. Ruudukon leveydeksi tulee tiedoston pisimmän rivin pituus ja korkeudeksi tiedoston rivien määrä. Käytä tyhjien ruutujen merkitsemiseen välilyöntiä, älä käytä Tab-näppäintä. Vinkki: Laita päälle sarake- ja rivinumeroiden näyttö, sekä tyhjien merkkien näyttö: Sarakkeet: View» Ruler Rivit: Options» Environment options» Editor» Line Numbers Tyhjät merkit: View» Show Special Characters Vinkki: Kentän muokkaaminen voi olla helpompaa, kun painat Insert-näppäintä (tekstin korvaustila). Paina Insert-näppäintä uudelleen päästäksesi takaisiin normaaliin kirjoitustilaan. Jypelin käyttöohjeet» Ruutukentän luominen 1

Kun olet piirtänyt kentän, klikkaa tallennuskuvaketta, tai mene File» Save (Ctrl + S). Kun kenttä on valmis, palaa Visual Studioon. HUOM! Kenttien tekstitiedostot eivät kopioidu automaattisesti käännöskansioon (debug), jolloin peli kaatuu. Ratkaisu: Solution Explorerissa klikkaa kenttä-tekstitiedoston päältä hiiren oikealla» Properties» Copy to Output Directory» Copy if newer 3. Ruutukartan luominen Ruutukentän luomista varten tarvitsee koodissa luoda ruutukartta-olio (TileMap). Sopiva paikka ruutukartan luomiseksi on aliohjelma, joka luo kentän (esim. LuoKentta()). Normaalitilanne Ruutukartta-olio luodaan seuraavasti (vaihda nimen kentta.txt tilalle tiedosto, jonka liitit projektiin): TileMap ruudut = TileMap.FromFile("kentta.txt"); Puhelin & Content Importer Jos haluat luoda ruutukartta-olion Content-projektin tekstitiedostosta, se tapahtuu seuraavasti (korvaa nimi 'kentta' oman kenttätiedostosi nimellä,.txt-loppua ei tarvitse kirjoittaa) TileMap ruudut = TileMap.FromLevelAsset("kentta"); 4. Merkit vastaamaan olioita Tarkoitus on, että jokaista erilaista kirjoitusmerkkiä vastaa joku tietynlainen olio. Jokainen käyttämäsi merkki liitetään sitä vastaavan olion luovaan aliohjelmaan seuraavalla tavalla: Jos haluat määritellä olioille esimerkiksi aivot (tekoäly) tai laittaa ne eri kerroksiin, pitää tämä kohta tehdä hieman eri tavalla, ks. kohta 8. ruudut['='] = LuoPalikka; ruudut['*'] = LuoTahti; LuoPalikka sekä LuoTahti ovat sellaisia aliohjelmia, jotka eivät ota parametreja, mutta palauttavat GameObject-tyyppisen olion. Myös aliohjelma, joka palauttaa PhysicsObject-tyyppisen olion, kelpaa. Nyt täytyy vielä kirjoittaa oliot luovat aliohjelmat. Esimerkiksi LuoPalikka voisi olla seuraavanlainen: palikka.shape = Shape.Rectangle; palikka.color = Color.Gray; 2. Kentän muokkaaminen ConTextilla 2

5. Kentän lisääminen peliin Olioiden luomista varten kannattaa luoda luokkaan seuraavanlaiset attribuutit, joihin määritellään yhden ruudun koko eli se tila, mikä jokaiselle oliolle on kentässä varattu: Kun ruudut ovat taulukossa ja merkkien merkitys kerrottu, kentän voi vihdoin luoda peliin seuraavanlaisella komennolla: ruudut.insert(ruudunleveys, ruudunkorkeus); HUOM! Tämä komento muuttaa kentän kokoa! Jos siis lisäät kenttään reunoja tai zoomaat kameran näyttämään koko kentän, tee se vasta tämän jälkeen. Toinen vaihtoehto on antaa kirjaston laskea edellämainitut attribuutit jolloin kentän koko ei muutu. Tällöin käytä komentoa: ruudut.insert(); 6. Valmis esimerkki Tässä eräs ratkaisu ruutukentän tekemiseen, kun kenttä on tehty erilliseen tekstitiedostoon nimeltä "kentta.txt": using System; using Jypeli; public class Peli : PhysicsGame public override void Begin() LuoKentta(); Camera.ZoomToLevel(); void LuoKentta() TileMap ruudut = TileMap.FromFile("kentta.txt"); ruudut['='] = LuoPalikka; ruudut['*'] = LuoTahti; ruudut.insert(ruudunleveys, ruudunkorkeus); PhysicsObject LuoTahti() 5. Kentän lisääminen peliin 3

PhysicsObject tahti = PhysicsObject.CreateStaticObject(25.0, 25.0); return tahti; 7. Tekstuurin lisääminen Ruutukentän luomille olioille halutaan usein asettaa jokin kuva eli tekstuuri. Koska samaa kuvaa käytetään monta kertaa, se kannattaa ladata muuttujaan pelin alussa. Sitten samaa kuvaa voi helposti käyttää samanlaisia olioita luovassa aliohjelmassa. Piirrä tekstuuri kuvankäsittelyohjelmalla ja katso sitten ohjeet sisällön tuomisesta projektiin. Kun kuva on olemassa ja tuotu projektiin sitä voidaan käyttää seuraavasti: Ladataan kuva muuttujaan luokan alussa: using System; using Jypeli; public class Peli : PhysicsGame Image palikankuva = LoadImage( "palikka" ); protected override void Begin() //... Asetetaan ladattu kuva olioille: palikka.image = palikankuva; 8. Kun elementeille halutaan esim. kerros tai aivot Joskus ruutukentän pelielementeille halutaan määritellä jotain erikoisominaisuuksia, kuten esimerkiksi kerros (ks. Kerrokset) tai tekoälyä (ks. Aivot). Tällöin ruutukentän määrittely koodiin pitää tehdä hieman eri tavalla. Tässä esimerkki: void LataaKentta(string levelfile) TileMap ruudut = TileMap.FromFile(levelFile); ruudut.settilemethod('p', LuoPelaaja); ruudut.settilemethod('#', LuoPalikka); ruudut.settilemethod('*', LuoTahti); ruudut.execute(20, 20); 6. Valmis esimerkki 4

void LuoPelaaja(Vector paikka, double leveys, double korkeus) pelaaja = new Elephant(10, 10); pelaaja.position = paikka; pelaaja.mass = 10; AddCollisionHandler(pelaaja, OsuiMaaliin); Add(pelaaja); void LuoPalikka(Vector paikka, double leveys, double korkeus) PhysicsObject taso = PhysicsObject.CreateStaticObject( leveys, korkeus, Shape.Rectangle); taso.position = paikka; taso.image = groundimage; Add(taso); void LuoTahti(Vector paikka, double leveys, double korkeus) PhysicsObject tahti = new PhysicsObject(5, 5); tahti.position = paikka; tahti.mass = 0.005; tahti.shape = Shape.Circle; tahti.restitution = 1.0; tahti.image = tahdenkuva; AddCollisionHandler(tahti, Keraa); Add(tahti, 1); 8. Kun elementeille halutaan esim. kerros tai aivot 5