Miten saan esim. neliön liikkumaan?
Esim. Paqinan vasemmalle, niin se liikkuu vasemmalle.
Voisitteko kirjoittaa esimerkin.
(olen tekemässä ensimmäistä peliäni missä on grafiikkaa)
Vähennät x:ää yhellä ja plänttäät neliön siihen. Vanha neliö tosin kannattaa pyyhkiä pois.
Jotenkin tälleen puolipseudona.
x=160,y=100 piirra_nelio x,y if vasen then x-- piirra_nelio x,y pyyhi_edellinen if alas then y++ piirra_nelio x,y pyyhi_edellinen
ois hyvä laittaa jonku luupin sisään toi ja jonkinnäkönen näppäinhandleri mukaan.
Ja järjenkäyttö ja oppaiden lukeminen on luvallista myös tässä tapauksessa ;)
Tarvitset silmukan, joka jatkuvasti tarkistaa, onko nuolinäppäimiä painettu. Jos on, vanha neliö pyyhitään, neliölle lasketaan uusi paikka, ja uusi neliö piirretään. Silmukan loppuun kannattaa laittaa pieni hidastus, jotta liike ei olisi liian nopea.
Yksinkertainen mutta toimiva esimerkki:
'muuttujien tyyppi kokonaisluku
DEFINT A-Z
'320x200-resoluutio, 256 väriä
SCREEN 13
'aloituskoordinaatit
x = 100
y = 100
DO
SELECT CASE INKEY$
CASE CHR$(0) + CHR$(75) 'vasemmalle
x = x - 1
CASE CHR$(0) + CHR$(77) 'oikealle
x = x + 1
CASE CHR$(0) + CHR$(72) 'ylös
y = y - 1
CASE CHR$(0) + CHR$(80) 'alas
y = y + 1
CASE CHR$(27) 'Esc
END
END SELECT
'jos x- tai y-koordinaatti on muuttunut, päivitetään näyttö
IF x <> vx OR y <> vy THEN
'pyyhitään vanha neliö
LINE (vx, vy)-STEP(10, 10), 0, B
'piirretään uusi neliö
LINE (x, y)-STEP(10, 10), 1, B
'tallennetaan vanhat koordinaatit
vx = x
vy = y
END IF
'hidaste
WAIT &H3DA, 8
LOOPTäydellinen lista näppäinkoodeista löytyy osoitteesta https://www.ohjelmointiputka.net/oppaat/opas.
Seuraavaksi teet semmoisen mikä tarkastelee kahta nappia samaan aikaan niin että pystyy liikkumaan myös vinosti :)
lainaus:
Seuraavaksi teet semmoisen mikä tarkastelee kahta nappia samaan aikaan niin että pystyy liikkumaan myös vinosti :)
Se on jo tuossa koodiesimerkissä mahdollista. Jos haluat mennä yläviistoon, niin näpytät esim. oikealle-ylös-oikealle-ylös jne.
lainaus:
lainaus:
Seuraavaksi teet semmoisen mikä tarkastelee kahta nappia samaan aikaan niin että pystyy liikkumaan myös vinosti :)
Se on jo tuossa koodiesimerkissä mahdollista. Jos haluat mennä yläviistoon, niin näpytät esim. oikealle-ylös-oikealle-ylös jne.
Siis ehkäpä Jope tarkoitti sellaista, että nimenomaan yhdellä liikahduksella liikutaan yläviistoon, oikea-ylös -yhdistelmällä tulee kaksi liikahdusta.
Juuri sitä tarkotinkin :)
Nuolinäppäimet voi tehdä muutenkin kuin numeroilla:
vasen:
CHR$(0) + "K"
oikea:
CHR$(0) + "M"
ylös:
CHR$(0) + "H"
alas:
CHR$(0) + "P"
niin voi, tota mä käytän yleensä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.