Hoe tekenen op picturebox

Status
Niet open voor verdere reacties.

evertVB

Gebruiker
Lid geworden
6 apr 2009
Berichten
570
Hier loop ik even op vast.:confused:
Ik heb het volgende:
Code:
Public Class Form1

    ...

    Private Sub RePaint(ByVal g As Graphics)
        Dim x As Integer
        Dim y As Integer
        g.FillRectangle(Brushes.White, 0, 0, 5 * MySnake_Game.cSnakeGameWidth, 5 * MySnake_Game.cSnakeGameHeight)

        For x = 0 To MySnake_Game.cSnakeGameHeight - 1
            For y = 0 To MySnake_Game.cSnakeGameWidth - 1
                If MySnake_Game.MatrixCell(x, y).IsSnake Or _
                   MySnake_Game.MatrixCell(x, y).IsSmallFood Or _
                   MySnake_Game.MatrixCell(x, y).IsBigFood Or _
                   MySnake_Game.MatrixCell(x, y).IsWall Then
                    g.FillRectangle(Brushes.Black, 5 * y, 5 * x, 5, 5)
                End If
            Next y
        Next x
    End Sub

    Private Sub PictureBox1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        RePaint(e.Graphics)
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If MySnake_Game.Status = EnmStatus.cPlaying And Not Me.Pause Then
            MySnake_Game.MoveGame()
            RePaint(PictureBox1) '==> compileert niet maar hoe dan wel?
        End If
    End Sub

    ...
End Class
De repaint routine aanroepen vanuit PictureBox1_paint gaat goed, maar ik wil ook overnieuw tekenen vanuit een timer_tick.
Hoe krijg ik dit aan de praat? In mijn logische klasse is de snake intussen verplaatst dus dat moet worden getekend.

Ik begrijp ook nog niet echt goed wat er dan ‘onder water’ allemaal gebeurt.
 
Blijkbaar werkt het volgende vanuit Timer1_Tick:o
Code:
Me.PictureBox1.Invalidate()
 
Misschien is gaat dat Invalidate flikkeren (tenminste ik had het). Dus je kan beter opnieuw een wit vierkant of afbeelding tekenen met weer alles er op.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan