Permalänk
Medlem

Projekt i VB 2008, hjälp!

Hej!

Håller på med ett projekt till Visual Basic 2008, och har lite problem som jag hoppas att jag kan få lite hjälp med.
Just nu har jag en bild i formulär ett som rör sig med hjälp av en timer när jag klickar ner piltangenterna. I formuläret har jag gjort 4st labels som är enfärgade, dessa är tänkt till att vara början på väggarna. Hade tänkt mig göra en slags labyrint, bilden får inte röra väggarna. Det är här jag får det första problemet, hur gör jag så att bilden inte bara åker igenom dessa labels? Kanske inte labels funkar som "väggar"? Har försökt en del med:

If Pic1.Left = lbl1.left + 10 Then
MsgBox("Du har förlorat")
End If

Visa signatur

ASUS ROG STRIX Z270H GAMING, i7 7700K, MSI GTX 1080 Ti 11 GB Gaming, Corsair HX 850W, Corsair 16GB, Samsung 850 500 GB, Samsung 830 256GB, WD Black 1TB, BenQ XL2420T

Permalänk
Medlem
Skrivet av davaa:

Hej!

Håller på med ett projekt till Visual Basic 2008, och har lite problem som jag hoppas att jag kan få lite hjälp med.
Just nu har jag en bild i formulär ett som rör sig med hjälp av en timer när jag klickar ner piltangenterna. I formuläret har jag gjort 4st labels som är enfärgade, dessa är tänkt till att vara början på väggarna. Hade tänkt mig göra en slags labyrint, bilden får inte röra väggarna. Det är här jag får det första problemet, hur gör jag så att bilden inte bara åker igenom dessa labels? Kanske inte labels funkar som "väggar"? Har försökt en del med:

If Pic1.Left = lbl1.left + 10 Then
MsgBox("Du har förlorat")
End If

hur många steg i taget flyttar du bilden? tänk om du flyttar den 3 pixlar per update t.ex, då finns de fall där de inte blir Pic1.Left = lbl1.left+10. tänk istället att du kollar om om Pic1.Left < lbl1.Left+10, då kollar du ju om det är mindre än det. (tror jag, kan inte vb ).

Visa signatur

Laptop - MacBook 2.0GHz, 4GB ram, Intel GMA 950
Stationär - i5 3570k @ 4ghz, 8gb ram, 120gb ssd + 2tb hdd, Windows 8 64bit, fractal design arc
Citera så jag hittar tillbaka :)

Permalänk
Medlem
Skrivet av E_maN:

hur många steg i taget flyttar du bilden? tänk om du flyttar den 3 pixlar per update t.ex, då finns de fall där de inte blir Pic1.Left = lbl1.left+10. tänk istället att du kollar om om Pic1.Left < lbl1.Left+10, då kollar du ju om det är mindre än det. (tror jag, kan inte vb ).

I timerns "tickevent" har jag skrivit
Pic1.top = pic1.top + 10.

Visa signatur

ASUS ROG STRIX Z270H GAMING, i7 7700K, MSI GTX 1080 Ti 11 GB Gaming, Corsair HX 850W, Corsair 16GB, Samsung 850 500 GB, Samsung 830 256GB, WD Black 1TB, BenQ XL2420T