Minä tässä väsäilen tasohyppelypeliä VB:llä. Itseasiassa aloitin sen juuri äsken... Heti aluksi törmäsin muutamiin ongelmiin..... Ja nyt tarvitsisin neuvoa tälläisessa asiassa:
Millä keinolla kenttien mapit kannattaa tehdä?
Kannattako käyttää Pictureboxia, vai sittenkin Line:ä??
Onko jotain muita maagisia keinoja saada tehtyä kenttiä?
Mitä niistä itse käytät?
Tässä peliohjelmoinnin ABC:
a. Kaksoispuskurointi
b. Tilet
c. API
Eli kaksoispuskurointi tarkoittaa sitä että voidaan poistaa vilkkuminen kun kuvat piirretään ensin BitBlt apilla puskuriin ja kun kaikki on piirretty flipataan kuva näytölle. Opas löytyy putkasta.
Tilet ovat pieniä kuvia jotka kuvastavat maastoa kuten vaikkapa ruohoa taivasta ja vettä. Näillä tileillä rakennetaan kenttiä. Opas löytyy putkasta
API on varmaankin tuttu juttu, hoidat API funktioilla äänet, näppäimistön ja muut osiot joita tarvitset peliisi. Koodivinkkejä löytyy putkasta
Ensiksi VB:llä en missään nimessä kovinkaan innokkasti suosittele Line käskyä, vaan tiedostosta lataamista.
Picture boksit eivät ole pakollisia jos käyttää BitBlt API:a. Etuna BitBlt on se, että samaan saa kaksoispuskuroinnin josta Kaviaari mainitsi.
Jos et ole vielä käyttänyt tilejä, APIa ja BitBltiä niin kannattaa harjoitella niitä ensin.
Lineä ei todellakaan kannata käyttää, eikä mitään Shape-olioitaan.
Kiitti! Just tämmösiä neuvoja tarvin! Nyt treenaamaan BitBltiä :D
Mainostetaan nyt vielä tuota: https://www.ohjelmointiputka.net/oppaat/opas.
Blaze, mutta kannattaakos suoraan opettaa DX:ää, jos opettelee vielä alkeita? Omasta mielestäni siinä menee vaan helposti sekaisin. Ennemmin pienen asteen nostaminen, on aina ok, mutta kun kyse on, että aluksi kysellään line:stä, ja sen jälkeen hypättäis dx:ään, niin kyllä se, aika iso harppaus olisi. Ehkä liiankin iso. Vaikka en vähättele opastasi, se on mukava kyllä. :) Mutta ehkä vielä liian aikaista, Jyrille ;)
Mutta jos vielä ei mentäisi; dx:n/openGL:n puolelle, niin antaisin kysymyksiin, jotakuinkin seuraavat vastaukset:
Itse tekisin mapit samalla tavalla kuin jakijassa,
https://www.ohjelmointiputka.net/oppaat/opas.
Eli: Mapit on tekstitiedostoja, tyyliin:
xxxx x @x x x xxxx
Sitten luodaan taulukko mapille, joka on 4,4
Ja aletaan lukea mappitiedostoa. Yksi tapa on, esimerkiksi
kirjain kerralla:
Jos kirjain on "x" silloin luetaan se, esteeksi taulukkoon.
Jos kirjain on " " silloin se on maata, eli tyhjää.
Jos kirjain on "@" silloin se on ukkon paikka.
Tässä tapauksessa, ukon paikka olisi esimerkiksi 1,1
Voisimme tehdä kyllä samalla rutiiniin, kun huomaamme lukevamme estettä, että samalla piirrämme näytölle siihen kohtaan esteen. Vaikkapa seinän jne..
Jyri, selitän koulussa sitten paremmin. :)
Mutta ehkä aluksi kannattaa sisäistää erilaisia vaihtoehtoja. Ja katsoa mikä tuntuu omaan mieleen parhaalta. Mutta suosittelisin, että sitten, kun alkaa oikeasti vääntää isompaa peliä, niin siirtyy opengl:n (tai dx:n) pariin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.