Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Liikkuminen

Sivun loppuun

tuomas [17.01.2004 14:42:21]

#

Voisiko joku kertoa miten saan pelaajan liikkumaan niin että kun painetaan oikealle pelaaja liikkuu oikealle mutta odottaa ensin vaikka sekuntin?
Kaipasin lähinnä koodinpätkää...

hunajavohveli [17.01.2004 16:53:41]

#

Eli siis niinkö, että ensin painetaan nappia, sitten odotetaan sekuntia ja sitten vasta ukko liikkuu oikealle?

setä [17.01.2004 17:40:04]

#

Haluatko, että pelaaja tosiaan venttaa sekunnin ja sitten syöksähtää liikkeelle vai että nopeus kasvaa tasaisesti ja liikkeelle lähtö tapahtuu jouhevasti.

remontti-reiska [17.01.2004 19:06:06]

#

if keycode = vbkeyright then
'tähän sekuntti koodi
ukko.left = ukko left + 100
End if

Tuota voi muutella sitten haluamansa mukaan.

pipopää [24.05.2004 19:02:21]

#

miten saadaan sileen etttä nopeus kiihtyy?

hunajavohveli [24.05.2004 21:28:00]

#

Jos nopeus muuttuu, siitä pitää tehdä muuttuja, jonka arvoa kasvatetaan.

tuomas [24.05.2004 21:34:56]

#

Tässä esimerkki:

If Keycode = vbkeyright then
ukko.left = ukko.left + Nopeus
End IF

pipopää [26.05.2004 19:32:39]

#

miten nostetaan muuttujaa tässä tapauksessa se on Nopeus

Jos vaikka laittaa timer1 nii mites siihen ohjelmoidaan mutttuja joka nousee joka sekunti

hunajavohveli [26.05.2004 19:37:51]

#

Nopeus = Nopeus + 1

Ja muista määritellä nopeus Generalissa Dim-käskyllä.

pipopää [26.05.2004 19:38:51]

#

kiitti

Mitä muutujaa suosittelet (string)
ja miten saan itestään liikkuvan pictuuran nopeutumaan

hunajavohveli [26.05.2004 19:50:43]

#

No en stringiä tietenkään. Sehän on merkkijonotyyppi, ja nopeus määritellään luonnollisesti lukuna. Integeriä suosittelen eniten. Ja pictuurat ei liiku itsestään vaan niitä liikutetaan jollain komennolla. En tiedä minkämoinen komento sinulla on ja missä, joten selvennätkö vähän?
Edit: Oikeastaan Bytekin riittää jo, ellei nopeuden ole tarkoitus ylittää 256 pikseliä. Kai sinulla muuten on Formin ScaleMode Pixelinä?

Blaze [26.05.2004 19:51:06]

#

pipopää kirjoitti:

Mitä muutujaa suosittelet (string)

Long?

lainaus:

ja miten saan itestään liikkuvan pictuuran nopeutumaan

Kasvattamalla sen liikkumaa matkaa yhden aikayksikön aikana.

pipopää [26.05.2004 19:52:14]

#

Picture1.Left = Picture1.Left + nopeus

hunajavohveli [26.05.2004 19:53:48]

#

pipopää kirjoitti:

Picture1.Left = Picture1.Left + nopeus

Picture1.Left = Picture1.Left + nopeus
nopeus = nopeus + 1

pipopää [26.05.2004 19:55:54]

#

mutta minun mielestä se ei kiihdy yhtään

hunajavohveli [26.05.2004 19:57:28]

#

pipopää kirjoitti:

mutta minun mielestä se ei kiihdy yhtään

Johtuu luultavasti siitä, että et ole vastoin ohjeitani määritellyt nopeus-muuttujaa Generalissa Dim-käskyllä:

Dim Nopeus As Byte

pipopää [26.05.2004 20:00:47]

#

hyvä muuten mutta overflow tulee pakostakin

tuomas [26.05.2004 20:04:22]

#

eipäs tulekaan jos rajoitat maksimi nopeuden määrää.
Aseta if lause joka tarkistaa onko nopeus jo maksimissa
ennen nopeuden lisäämistä.
Ja lue vaikka nuo putkan visual basic oppaat, löydät niistä
varmasti paljon hyötyä.

JoreSoft [26.05.2004 20:43:34]

#

Nopeus = (LoppuX) - AlkuX) / 4 ' 2 - 180
Nopeus määräytyy erotuksen mukaan. Tässä tapauksessa hidastuu kun loppukohta lähestyy.
Osaat varmaan kääntää ton lausekkeen?

hunajavohveli [27.05.2004 14:22:59]

#

pipopää kirjoitti:

hyvä muuten mutta overflow tulee pakostakin

Totta kai overflow tulee pakostakin sitten, kun muuttuja kasvaa liian suureksi, oli sen tyyppi mikä tahansa. Kuten edellä sanottiin, sinun täytyy rajoittaa nopeutta niin, ettei se kasva tietyn pisteen yli, koska muuten se vain kasvaa loputtomiin, etkä enää edes näe koko PictureBoxia näytöllä.

miiro [28.05.2004 12:52:07]

#

No errhanleriin laittaa nopeuden taas alkuunsa?

Errhandler:
Nopeus = 1

Sivun alkuun

Vastaus

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

Tietoa sivustosta