Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: viivan liikuttaminen

Sivun loppuun

CoDeR [21.08.2004 12:37:23]

#

oon tässä koodailemassa vb:llä lentokonepeliä jossa ammutaan vastaan tulevia palikoita.... ja tuli sellanen ongelma että miten saan niin että kun painaa ampumisnäppäintä (eteenpäin nuoli) niin lentokone ampuu siis viivan (Line) ja se lähtee liikkumaan ylös päin?? (vai onko parempaa tapaa toteuttaa kyseinen asia)
...olen kyllä saanut viivan aikaiseksi ja vielä oikeaan lähtökohtaankin mutta se kun ei liiku :(...

tuomas [21.08.2004 13:02:57]

#

Aina on parempi tapa toteuttaa jokin asia.
Paras: tee pelisi directx:llä tai opengl:llä.
Toiseksi paras: Käytä bitblt apia (esimerkkejä ja oppaita löytyy täältä putkasta)
Ja viimeinen vaihtoehto: liikuta sitä viivaa muuttamalla sen kordinaatteja (X1,Y1,X2,Y2)

hunajavohveli [21.08.2004 13:21:07]

#

DirectX:ää, tai OpenGL:ää tuskin kannattaa käyttää, jos on vasta aloittelija, mutta sen sanon, että älä käytä Line-oliota, vaan piirrä viiva Line-käskyllä. (ellet sitten tarkoittanut Linellä Line-käskyä)
Ja viivaa liikutat yksinkertaisesti muuttamalla muuttujia, jotka määräävät, mihin kohtaan viiva piirretään.

setä [21.08.2004 15:49:03]

#

Viivaa on helppo liikutella asettamalla piirtoalustan DrawMode = 7. Tällöin uudelleen piirto edellisen viivan päälle pyyhkii viivan pois ja seuraavan voi piirtää uuteen paikkaan.

CoDeR [22.08.2004 10:32:13]

#

"Ja viimeinen vaihtoehto: liikuta sitä viivaa muuttamalla sen kordinaatteja (X1,Y1,X2,Y2)" ... kokeilin tosiaan tuota mutta jostain kumman syystä se ei kyllä toiminut..
no täytyy koittaa kehittää jotain..

tuomas [22.08.2004 10:35:54]

#

Formin scalemodeks pixel, yks timeri jonka interval 1 ,
Suurennta formin isoksi ja laitat keskelle viivan pystysuoraan.

Private Sub Timer1_Timer()

Line1.Y1 = Line1.Y1 - 10
Line1.Y2 = Line1.Y2 - 10


End Sub

CoDeR [22.08.2004 10:55:50]

#

joo kiitti :) ... mut tota mikä ois sellanen komento et ku painan ampumisnappia niin se silloin vasta piirtää viivan... ja jos niitä pitäisi saada monta niin ettei järjestysluvut mee sekasin.... (onks se jotain DrawLine tai jotai...)

tuomas [22.08.2004 10:59:07]

#

No, asiahan hoituu niin että asetat viivan näkyvyyden = false ja kun ammutaan niin näkyyvyys = true.
Eli muokkaamaalla line1.Visible ominaisuutta luulisi onnistuvan.

CoDeR [22.08.2004 11:10:01]

#

no niin mäki sen aattelin ... mutta sitte pitäs alkuun tehä hiukkasen niitä viivoja et ois tarpeeks panoksii mitä ampuu..

hunajavohveli [22.08.2004 11:22:34]

#

Minä tekisin edelleenkin viivat Line-käskyllä enkä oliolla, niin ei tarvitsisi murehtia indekseistä, vaan kaiken saisi latoa suoraan taulukkoon, ja laittaa viivoille juuri ne ominaisuudet, mitkä haluaakin. Mutta tyylinsä kullakin...

Antti Laaksonen [22.08.2004 11:23:31]

#

Jos ammuksia on yhtä aikaa useampia, ne kyllä kannattaisi mieluummin piirtää kuin esittää erillisten kontrollien avulla. Vanhan viivan pyyhkimisestä pitää tällöin tosin huolehtia itse, mutta muuten toteutus on kaikin tavoin parempi.

edit: Tulipas aika samanlainen viesti kuin hunajavohvelilla. :)

hunajavohveli [22.08.2004 11:27:26]

#

Joo, minäkin tarkoitin juuri tuota samaa tapaa. :)


Sivun alkuun

Vastaus

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

Tietoa sivustosta