Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: pictuuren liikuttaminen (NOLOA!)

Sivun loppuun

pipopää [25.05.2004 19:02:33]

#

Mä en muista miten picture boxia liikutetaan saan kyllä sen liikkumaan yhen kerran mutta ei tottele sen jälkeen.

zigilii [25.05.2004 19:11:18]

#

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Then
Picture1.Top = Picture1.Top - 100
End If
If KeyCode = vbKeyDown Then
Picture1.Top = Picture1.Top + 100
End If
If KeyCode = vbKeyLeft Then
Picture1.Left = Picture1.Left - 100
End If
If KeyCode = vbKeyRight Then
Picture1.Left = Picture1.Left + 100
End If
End Sub

rndprogy [25.05.2004 19:18:46]

#

Miten ylipäätään yrität sitä liikuttaa. Minulla tuo toimii ihan normaalisti. En kyllä löytänytkään mitään miten se toimisi kuvaamallasi tavalla.

pipopää [25.05.2004 19:20:23]

#

mä oon ihmeellinen koodaaja

minkäs sille voi!

miten saa sillee, että jos törmää toiseen pictuureen nii ohjelma loppuu

kaviaari [25.05.2004 19:23:41]

#

If y2 < (y1 + korkeus1) Then
    If (y2 + korkeus2) > y1 Then
        If x2 < (x1 + leveys1) Then
            If (x2 + leveys2) > x1 Then
                End
            End If
        End If
    End If
End If

pipopää [25.05.2004 19:26:12]

#

eiks oo mitää muuta tapaa?

Blaze [25.05.2004 19:47:29]

#

pipopää kirjoitti:

eiks oo mitää muuta tapaa?

Ei.

rndprogy [25.05.2004 19:48:09]

#

Kaikki nuo tavat muistuttavat rakenteeltaan toisiaan eli if lauseilla tuo pää-asiassa toteutetaan. Tässä on yksi(nkertainen) tapa.

If Picture1.Left = Picture2.Left And Picture1.Top = Picture2.Top Then end

Kaviaarilla oli vähän ihmeellinen vastaus :P

Puhveli [25.05.2004 20:10:26]

#

rndprogy kirjoitti:

If Picture1.Top = Picture2.Top And Picture1.Left = Picture2.Left Then end

hmm.. toi on kyllä sellanen tapa että niiden pictureiden kulmien pitäis olla just eikä melkein päällekkäin, leveys ja korkeus pitäis ottaa huomioon eli

If Picture1.Left + Picture1.Width > Picture2.Left And Picture1.Top + Picture1.Height > Picture2.Top And Picture1.Left < Picture2.Left + Picture2.Width And Picture1.Top < Picture2.Top + Picture2.Height Then
    End 'tai mt tahansa muuta kivaa
End If

Muuten rndprogy, kyllä pitäis ihmisten tietää että Left tulee aina ENNEN Topia

sooda [25.05.2004 20:13:38]

#

Puhveli kirjoitti:

Muuten rndprogy, kyllä pitäis ihmisten tietää että Left tulee aina ENNEN Topia

eli sua? :D just tollasta Topin sonkkausta(hei kaikki, Puhveli on Topi!) :P

Puhveli [25.05.2004 20:15:57]

#

jestas konsta...
Edit: tiedätkö minkä vuoksi netissä on nimimerkit? että voi esiintyä anonyymisti kunnes sooda tulee ja pilaa kaiken :D

sooda [25.05.2004 20:16:28]

#

meni muuten vähä offtopiciksi :D
edit: et muuten ole täällä anonyymisti, katoppas profiiliasi :D

tuomas [25.05.2004 20:20:43]

#

Niinhän se tahtoo välillä mennnä.
Ei sille mitään voi, olen varma että niitä tulee tulemaan
jatkossa vielä entistä enemmän kun ohjelmointiputkaan tulee uusia jäseniä.
Yksi hyvä tapa jolla tuota voisi vähentää olisi, että näillä alueilla joissa kysytään neuvoja ei laitettaisi
mitään viestejä jotka eivät asiaan kuuluisi.
Yleisen keskustelun alueellahan nämä offtopicthan eivät
niin paljoa haittaa.Eli eiköhän jätetä nämä offtopic aiheet sinne.

Puhveli [25.05.2004 20:23:38]

#

mutta hauskojahan noi ovat...

pipopää [26.05.2004 07:50:16]

#

mites sen saa liikkumaan itestään niinku ////////////////////// \\\\\\\\\\\\\\\\\\\\\\

Puhveli [26.05.2004 15:07:02]

#

ahaa, siis laitat timeriin käskyn joka liikuttelee piktuurilootaa. jos sulla on uudempi vb kuin kakkonen niin silloin timerin pitäisi löytyä työkalupalkista tai ainakin komponenttien listasta

pipopää [26.05.2004 15:21:14]

#

Kiitti

tuomas [26.05.2004 15:24:17]

#

Se käsky on se jolla liikutat sitä pictureboxia.
Eli jos vaikka picture1 pitäisi liikkua vasemmalle
kirjoitat sinne timeriin että:

Picture1.Left = Picture1.Left +1

Ja sitten asetat timerin intervaliksi vaikka 1000 jolloin
ohjelma kutsuu tuota kyseistä tapahtumaan sekuntin välein
jolloin tuo picturebox1 liikku sekuntin välein yhden pixelin vasemmalle.

Puhveli [26.05.2004 15:24:43]

#

Tossa tuomaan esimerkissä se kyllä sattuu menemään oikealle :)

pipopää [26.05.2004 15:26:17]

#

ja sitten miten saa toisen pictuurin liikkumaan hitaasti kohti

rndprogy [26.05.2004 16:09:20]

#

Liikkumaan hitaasti mitä kohti? No toinen pictureboxi on varmasti Picture2. Teet sille samoin kuin Picture1:lle.

tuomas [26.05.2004 16:23:11]

#

Jos haluat picture2:n seuraamaan picture1:stä sinun kannattaa vertailla pictureboxejen x ja y arvoja.
Esim. jos picture1 x arvo on 200 ja y arvo 150 ja picture2 x arvo on 400 ja y arvo 300 niin liikutat picture2:ta kohti
picture1:tä pienentämällä tämän x ja y arvoja.

pipopää [26.05.2004 19:27:03]

#

miten saa sillee, että kuva siirtyy vaikka puoleen väliin ja tulee takas

tuomas [26.05.2004 20:08:20]

#

Tarkistat miten suuri väli kahden pisteen välillä on.
jos kuva ei ole vielä puolessa välissä niin liikuta sitä eteenpäin ja jos se on jo siellä niin sama juttu toiseen suuntaan.
Käytä myös hakua ja lue vb oppaat.

kaviaari [27.05.2004 08:16:54]

#

pipopää, voisit itsekkin perehtyä VB:n perusteisiin niin ei tarvitsisi jatkuvasti olla muitten vastaamassa kysymyksiisi joihin saisit vastaukset jo oppaista.


Sivun alkuun

Vastaus

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

Tietoa sivustosta