JES! Ensimmäinen koodivinkkini!
Olen ollut Putkan jäsenenä jo jonkin aikaa, etten ollut tehnyt koodivinkkejä... Ajattelin että jotain ehkä pitäisi lisätä joten, saanko esitellä; Kuminauha!
Ideana tässä koodissa on, että Shape2 pysyy Shape1:sen ja Shape3:sen välissä. Shape1:stä voi ohjata hiirellä ja Shape3:sta I:n, K:n, L:n, ja J:n voimalla. Shape2:nen haluaa yleensä mennä vähän lähemmäksi Shape1:stä kuin Shape3:sta, mutta sen saa pienellä koodinpätkällä korjattua.
Tarvitset formille 3 Shape-objektia ja Scalemode muuta kolmoseksi!
koodi
Private Sub Form_KeyPress(KeyAscii As Integer) Select Case KeyAscii 'Katsotaan mitä nappeja on painettu Case 27 'Esciä? Unload Me 'Jos on, niin lopetetaan ohjelma Case Asc("I"), Asc("i") 'Iitä? Shape3.Top = Shape3.Top - 10 'Jos on, niin liikutetaan sheippiä Case Asc("K"), Asc("k") 'Koota? Shape3.Top = Shape3.Top + 10 'Jos on, niin liikutetaan sheippiä Case Asc("J"), Asc("j") 'Jiitä? Shape3.Left = Shape3.Left - 10 'Jos on, niin liikutetaan sheippiä Case Asc("L"), Asc("l") 'Ällää? Shape3.Left = Shape3.Left + 10 'Jos on, niin liikutetaan sheippiä End Select End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) With Shape1 'With-käskyllä ei tarvitse kirjoittaa joka valueta ennen Shape1! .Left = X - .Width / 2 .Top = Y - .Height / 2 End With Shape2.Top = (Shape3.Top \ 2) + Shape2.Top \ 2 - (Shape2.Top - Shape1.Top) ' Laitetaan Shape2:sen Y-kordinaatit kuntoon Shape2.Left = (Shape3.Left \ 2) + Shape2.Left \ 2 - (Shape2.Left - Shape1.Left) ' Laitetaan Shape2:sen X-kordinaatit kuntoon End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.