Gjakmarrja Skrevet 28. oktober 2005 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
aadnk Skrevet 28. oktober 2005 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)
GeirGrusom Skrevet 28. oktober 2005 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()
Gjakmarrja Skrevet 28. oktober 2005 Forfatter Skrevet 28. oktober 2005 Takker for den... lurte litt på hvorfor det flimra noe helt SYKT...
Gjakmarrja Skrevet 29. oktober 2005 Forfatter 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?
GeirGrusom Skrevet 29. oktober 2005 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
Gjakmarrja Skrevet 29. oktober 2005 Forfatter 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
GeirGrusom Skrevet 2. november 2005 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
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å