Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Pelin tekeminen

Sivun loppuun

tuomas [11.12.2003 18:58:39]

#

Haluaisin tehdä peli visual basicilla mutta
en tiedä miten ukko saadaan liikkumaan.
Voisiko joku (jos vain jaksaa)
kertoa alusta loppuun saakka kuinka esim. joku ukkeli
saadaan kävelemään vaikka neljään eri suuntaan.

hunajavohveli [11.12.2003 19:12:15]

#

no siis ukkelinhan voi tehdä monella tavalla. Jos teet vaikka laatikon aluksi shape-oliolla, niin sillä on kaksi ominaisuutta nimeltä left ja top ja ne on niinku x ja y.

Sitte vaan kirjotat johonkin näppäinproseduuriin:

ukkeli.top = ukkeli.top + 1
tai
ukkeli.left = ukkeli.left - 1

hunajavohveli [11.12.2003 19:13:57]

#

No joo siis, taidat olla vasta aloitteleva VB-käyttäjä? Mää en oikein osaa sitten vissiin neuvoa yksinkertaisesti, ku ite meen jo pitemmällä ja oon unohtanu miltä tuntuu kun ei osaa vielä oikein mitään.

tuomas [11.12.2003 19:15:01]

#

No ei se mitään...
Kyllä mä sen vielä joskus opin...

hunajavohveli [11.12.2003 19:27:57]

#

Joo kyllä kyllä, ite vaan en osaa enää käyttää sellasta kieltä jota vasta-alkajakin ymmärtäisi.

Tony.Rasmus [12.12.2003 13:19:24]

#

(Huom, mulla ei oo tässä visualia, joten heitän nää päästä, joten ei välttämättä oikein, huomauttakaa jos on virheitä)

Tee formiin yks image, jonka nimi on Ukko
piirrä paintillä ukkeli ja liitä se imageen.
paina kahesti formin taustaan ja valihte oikeasta valikosta keypress tai joku tollanen,
Laita formin keypress() kohtaan lauseilla:

nopeus = 100 ' määrittää kuinka monta pixeliä ukko liikkuu
if keycode = vbkeyleft then ukko.left = ukko.left - nopeus
if keycode = vbkeyright then ukko.left = ukko.left + nopeus
if keycode = vbkeyup then ukko.top = ukko.top - nopeus
if keycode = vbkeydown then ukko.top = ukko.top + nopeus

Tuossa ei toimi sitten 2 napin painallus. Jos haluat kehitellä lisää tuota nii kato jostain esimerkki miten käytetään näppäimistöä nii että voi painaa monta nappia samaan aikaan.

Lisäksi tuota systeemiä ei kannata käyttää muuta kuin harjoitteluun. Ukkelin liikuttamisessa kannattaa käyttää Timer:iä ja sieltä liikuttelua koordinaateissa.

Pehmeän liikkeen saa aikaan, kun antaa esim napin painalluksessa lähetetään : if sivuttaisliike < 50 then sivuttaisliike = sivuttaisliike + 5, Timerissä ukko = ukko + sivuttaisliike, jonka jälkeen sivuttaisliike esim jaetaan kahdella : sivuttaisliike / 2. Joten ukko pysähtyy nätisti, ja lähtee liikkeelle kiihdyttäen. Kun tuon koodaa oikein saa ukon liikkeen näyttämään pehmeältä ja käännökset järkeviltä. Kun on otettu käyttöön 2 eri liikeakselia pysty + & - sekä sivuttais + & - niin ukkelia on helppo liikuttaa esim kulmien suuntaan. Mutta kannattaa aloittaa ihan helpoista jutuista. Parhaiten opit kun lisäät koodiin aina muutaman pienen lisäyksen ja katot miten se käyttäytyy ja sen mukaan kehität koodia paremmaksi.

Noista pitäis löytyä yksinkertaisia ohjeita, mut jos ei onnistu millään nii kysele lisää.

kaviaari [12.12.2003 15:25:26]

#

Tony.Rasmus, toi sun tekniikka ei ole kovin suositeltava pelikäyttöön :p

Tony.Rasmus [15.12.2003 16:09:30]

#

No, ei todellakaan :) mut jos ite lähtisin ohjelmoimaan ensimmäistä kertaa, nii mieluiten alottaisin tuolla lauseella : ota hiirestä kiinni ja paina hiiren oikeaa nappia formin kohdalle ja kirjoita sinne näin.
Tuon yksinkertaisemmin en osaa aloittelijalle selittää miten laatikon sais liikkuun näytöllä nappia painamalla ja case:t saattaa mennä aloittelijalla yli hilseen.

kaviaari [15.12.2003 18:18:45]

#

Annoin jo paremmat ohjeet :p

Tony.Rasmus [16.12.2003 10:41:21]

#

Millä tyylillä, pystykkö näyttää?

kaviaari [17.12.2003 15:43:29]

#

API & BitBlt

Tony.Rasmus [18.12.2003 11:02:35]

#

BitBlt:iä käytän ite, mut eikö se oo aloittelijalle melko monimutkanen??


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta