Mul oi taas probleemo. Mun merkkigraffasessa roolipelissä haluisin mahduttaa isot kentät pieneen näyttötilaan eli scrollauksella.
Niin asiaan en tajua tota enkun kielistä tutoriaalia osotteessa www.qb4all.com niin voisitteko neuvoo vähän miten se oikeesti tapahtuu.
Minulla on tuollaista skrollausta käsittellevä systeemi kehitteillä HoneyLibin seuraavaan päivitysversioon 0.96m. Voisin jossain välissä vähän julkaista ennalta sen koodia, vaikkei se olekaan vielä ihan täydellinen. Koko kirjastoa en viitsi julkaista, kun en vielä tiedä, teenkö siitä projektin vai en, ja projekteja ei voi vielä lisätä.
Mä tekisin ton niin että on yksi taulukko jossa on rivien verran soluja ja sen pituus on öö...... tai no:
Dim Rivi(kentän_y_koko) as string * kentän_x_koko
jossa olisi joka rivin merkit.
ja sitten olisi x ja y koordinaatit ja piirrettäisiin aina näytön verran rivejä alkaen x kohdasta, tyyliin:
cls for i=sankarinypositio to playfieldheight print mid(rivi(i),sankarinxpositio,playfieldwidth) next
eli toi piirtäisi kentän. Playfieldheight ja -width ovat siis ite näytettävän pelikentän koko. Toivottavasti tajusit :)
joo meen testaan tota katon tajusinko
Onko ideanasi siis se, että päähahmo on koko ajan ruudun keskustassa, ja kartta vain vierii eri suuntaan?
juu enkä oikeen älynny tota soodan juttuu
se ois hyvä sil sais hahmon näkökykyä rajotettuu ja maastot mahtuis pienempään näyttö tilaan
Pieniä korjauksia soodan neuvoon.
1. for i=(sankarinypositio-(playfieldheight/2)) to playfieldheight
2. print mid(rivi(i),(sankarinxpositio-(playfieldwidth/2)),playfieldwidth)
muuten äijä seisoisi aina ruudun vasemmassa ylänurkassa.
Edit: Eli aina kun äijä liikkuu johonkin suuntaa kutsutaan sitä soodan koodia. Rivi-taulukossa on pelialueen kaikki rivit, yhden solun sisältäessä aina yhden rivin kaikki merkit. Silmukassa sitten piirretään kaikki rivit, joita kuvaruutuun mahtuu niin että äijä seisoo ruudun keskellä. Äijän positiosta katsotaan kuinka paljon ylä- ja alapuolelle piirretään rivejä pystysuoraan. Silmukan sisällä taas leikataa rivi-taulukosta tarpeeksi pitkä pätkä merkkejä täyttämään näytettävä alue vaakatasossa.
Tietysti tuossa olisi hyvä olla vielä tarkistukset etteivät arvot ole negatiivisia...
Niinno toi oli vain esimerkki.
Aivan asiansa ajava esimerkki... =)
Aihe on jo aika vanha, joten et voi enää vastata siihen.