Page 1 of 1

Tile kartta

Posted: Sat Aug 16, 2008 6:54 pm
by mato1223
Haluaisin tehdä Tile Kartta editorilla Kentän jossa on vettä. Aion tehdä RPG tyylisen pelin. Veteen Kuitenkin pitäisi päästä myöhemmässä vaiheessa lautalla. Miten tuo tehdään?

Re: Tile kartta

Posted: Sat Aug 16, 2008 7:20 pm
by MikkoK
Ajattelisin että data tileillä... En itse niitä ole käyttänyt kyllä mutta silti.

Re: Tile kartta

Posted: Sat Aug 16, 2008 9:41 pm
by Eräs cb koodaaja
MikkoK141 wrote:Ajattelisin että data tileillä... En itse niitä ole käyttänyt kyllä mutta silti.
MikkoK141: Sä neuvot aina käyttämään datakerrosta vaikka sulla on tuskin mitään hajua miten se toimii, etkä käytä sitä itse.

Sitten aiheeseen: Laitat sen veden ihan normaalisti ja lisäät siihen veteen datanumeron. Sitten vaan luet GetMapilla kartta, että missä kohdassa lautta liikkuu.

Re: Tile kartta

Posted: Sat Aug 16, 2008 9:47 pm
by Koodiapina
Tietenkin sun täytyy sen lisäksi koodata systeemi, joka estää tyyppiä menemästä veteen, ellei hän ole lautalla. Hommasta tulee turhan monimutkainen, ellei pelattavan hahmon liikkumista / sijaintia ole rajoitettu tilettäin meneväksi. Tällöin vain tarkistetaan menosuunnassa olevan seuraavan tilen datanumero, ja päätetään sen mukaan jatketaanko matkaa.

Re: Tile kartta

Posted: Sat Aug 16, 2008 10:10 pm
by TheFish
Grandi wrote:Tietenkin sun täytyy sen lisäksi koodata systeemi, joka estää tyyppiä menemästä veteen, ellei hän ole lautalla. Hommasta tulee turhan monimutkainen, ellei pelattavan hahmon liikkumista / sijaintia ole rajoitettu tilettäin meneväksi. Tällöin vain tarkistetaan menosuunnassa olevan seuraavan tilen datanumero, ja päätetään sen mukaan jatketaanko matkaa.
Veteenhän voi laittaa törmäyksen normaalisti. Lautalla ollessa törmäys poistetaan (en kylläkään muista mikä komento poisti törmäyksen, mutta pakkohan sellainen on olla). Vain lautan kanssa liikkuessa tarvitaan tuo tarkistus.

Helpoin ratkaisu taitaisi olla systeemi, joka muuttaa kartan törmäyskerroksia tarpeen mukaan. Kun mennään lautalle, tileistä joissa on vesi-data poistetaan törmäys ja muihin tileihin laitetaan törmäys. Kun poistutaan lautalta, veteen laitetaan törmäys ja muualta poistetaan (paitsi tietenkin niistä joissa kuuluu olla, hoituu datalla tämäkin).

Re: Tile kartta

Posted: Sun Aug 17, 2008 2:35 am
by Bagard
Miksi suotta käyttää datakerrosta tällaiseen? Vie enemmän aikaa kun jokainen vesitile pitää merkata ja karttaan saattaa unohtua merkkaamattomia alueita. Käytä mielummin GetMap()-funktiota ottamaan selvää, minkä taustakerrostilen päällä ollaan. Kannattaa ehkä tehdä erilaisista maastotileistä jonkinlainen taulukko, jolloin voit helposti käyttää vedelle montaa erilaista tileä, esim:

Code: Select all

Const NUM_TILES = 50        // tähän montako tileä tilesetissäsi on

// vakiot eri tyypeille jotta käsittely helpompaa
Const WATER = 1
Const LAVA  = 2

// taulukko erikoistileille
Dim terrain(NUM_TILES)

// merkataan erikoistilejä, indeksi on siis tilen järjestysnumero
terrain(23) = WATER
terrain(24) = WATER
terrain(45) = LAVA
Eli kuten näet, tuohon on helppo lisätä uusiakin maastoja (esim. laava) ja niille on helppo merkata useita mahdollisia tilejä (yksi kuva vedelle tuskin riittää, kun rannat yms. pitää myös piirtää). Jos tarvitsee merkata alueita joihin ei pääse millään tavalla, niin sitten kannattaa käyttää tilekarttojen omaa törmäyskerrosta. Kun tarvitsee tarkistaa, minkälaista maastoa ukon alla / sivuilla on, onnistuu se näin:

Code: Select all

If terrain(GetMap(0, ukkoX, ukkoY)) = WATER Then
    // ukon alla on vettä
ElseIf terrain(GetMap(0, ukkoX, ukkoY)) = LAVA Then
    // ukon alla on laavaa
Else
    // erikoismaastoa ei ole määritelty, eli tavallista maata
EndIf
Toinen tapa saada törmäykset toimimaan riippuen maastosta & liikkumistavasta olisi muokata kartan törmäyskerrosta lennossa aina kun kulkuvälinettä vaihdetaan. Voipi olla että teen lähiaikoina jonkinlaisen esimerkin tästä.
EDIT:

Näemmä TheFish jo puhuikin tuosta törmäyskerroksen muokkauksesta


Re: Tile kartta

Posted: Sun Aug 17, 2008 11:54 am
by mato1223
Eli siis pitäs tehä oma Tileset vai??? Tehäänkö se miten???

Re: Tile kartta

Posted: Sun Aug 17, 2008 12:05 pm
by KillBurn
:x .Tilesetti on vain kuva josta poimitaan esim. 32,32 kokoisia alueita.
Semmoiset piirretään piirrustus ohjelmalla.Tilet tulee olla aivan vierekkäin.Katso CB'n media kansiosta tilesettimallia.

Re: Tile kartta

Posted: Sun Aug 17, 2008 2:03 pm
by mato1223
Ok no kiitos kuiteski

Re: Tile kartta

Posted: Sat Jan 03, 2009 9:23 am
by mato1223
Hyvä minä... Nythän minä tämän käsitän! :D

Re: Tile kartta

Posted: Sat Jan 03, 2009 12:22 pm
by Sly_Jack0
Anteeksi että leikin modea, mutta käsitä myös se, että voit muokata vanhoja viestejäsi eikä sinun tarvitse tuplapostata.