Gjakmarrja Skrevet 28. oktober 2005 Del Skrevet 28. oktober 2005 Hei Jeg lager en ting som beveger seg bortover med system.drawing sant.. liten 4 kant sak men den etterlater jo seg en stripe bak...hvordan kan jeg få background image til å tegne seg oppigjen bak selv figuren...? vb 7.0 Lenke til kommentar
aadnk Skrevet 28. oktober 2005 Del Skrevet 28. oktober 2005 Du kan jo rett og slett fylle hele formen med èn farge, slik at det forrige bildet blir fjernet: ' Har dog ikke fått testet koden, men jeg skulle tro den fungererGraphics.FromImage(Me.BackgroundImage).FillRectangle(Me.BackColor, Me.RectangleToClient) Lenke til kommentar
GeirGrusom Skrevet 28. oktober 2005 Del Skrevet 28. oktober 2005 En ting som er veldig vikitg: Bruk OnPaint, eller Paint event, ellers vil bildet flimre, med mindre du bruker en bitmap som backbuffer, men backbuffer er av en eller annen grunn utrolig tregt. Hvis du vil tegne bildet på nytt manuelt (fordi figuren byttet plass) kaller du Invalidate() Lenke til kommentar
Gjakmarrja Skrevet 28. oktober 2005 Forfatter Del Skrevet 28. oktober 2005 Takker for den... lurte litt på hvorfor det flimra noe helt SYKT... Lenke til kommentar
Gjakmarrja Skrevet 29. oktober 2005 Forfatter Del Skrevet 29. oktober 2005 En ting som er veldig vikitg: Bruk OnPaint, eller Paint event, ellers vil bildet flimre, med mindre du bruker en bitmap som backbuffer, men backbuffer er av en eller annen grunn utrolig tregt. Hvis du vil tegne bildet på nytt manuelt (fordi figuren byttet plass) kaller du Invalidate() 5073627[/snapback] Vent litt, hvordan hva? Lenke til kommentar
GeirGrusom Skrevet 29. oktober 2005 Del Skrevet 29. oktober 2005 Dim myrect As Rectangle = New Rectangle(0, 0, 32, 32) Protected Override Sub OnPaint(sender As Object, e As PaintEventArgs) e.Graphics.FillRect(New SolidBrush(Me.BackColor), Me.Bounds) e.Graphics.FillRect(Brushes.Black, myrect) End Sub Protected Override Sub OnKeyDown(sender As Object, e As KeyEventArgs) Select Case e.KeyCode Case Keys.Left myrect.Offset(1, 0) Case Keys.Right myrect.Offset(-1, 0) Case Keys.Down myrect.Offset(0, 1) Case Keys.Up myrect.Offset(0, -1) End Select Invalidate() End Sub Lenke til kommentar
Gjakmarrja Skrevet 29. oktober 2005 Forfatter Del Skrevet 29. oktober 2005 (endret) Tankz Dude Det funka ikke? Fikk feil ved tittlene på functionene? Husk det e vb.net Endret 29. oktober 2005 av chills Lenke til kommentar
GeirGrusom Skrevet 2. november 2005 Del Skrevet 2. november 2005 Er litt slapp akkurat nå.... beklager men jeg skrev dette i FireFox, så her er det ordentlige eksempelet Dim myrect As Rectangle = New Rectangle(0, 0, 32, 32) Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) e.Graphics.FillRectangle(New SolidBrush(Me.BackColor), Me.Bounds) e.Graphics.FillRectangle(Brushes.Black, myrect) End Sub Protected Overrides Sub OnKeyDown(ByVal e As KeyEventArgs) Select Case e.KeyCode Case Keys.Left myrect.Offset(-1, 0) Case Keys.Right myrect.Offset(1, 0) Case Keys.Down myrect.Offset(0, 1) Case Keys.Up myrect.Offset(0, -1) End Select Invalidate() End Sub Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå