Hoi
Voor een groepswerk (school) Moeten we een kanon(tanks) spel maken
Bij een aantal events moet er op het scherm getekend worden (picturebox)
Het probleem dat ik heb is nadat het landschap (array van points) getekend is en ik laat de tanks (2 ellipsen rond het x en y coordinaat vd tank) tekenen refreshed de picturebox zich
Hij wordt dus terug grijs en ik zie enkel de tanks (die omdat de picturebox niet gerefreshed wordt dus na bewegen een lange zwarte streep worden (wordt later opgelost)
Weet er iemand hoe dit komt en hoe ik het kan verhelpen?
of heeft er iemand een andere werkbare oplossing (ik zou liever niet met bitmaps werken)
groeten
nosmaS
onderstaande functies worden vlak na elkaar opgeroepen
Private Sub drawLandscape()
Dim paper As Graphics = pcbDrawArea.CreateGraphics
'draw landscape
For i = 1 To pcbDrawArea.Width
'land (horizon)
paper.DrawLine(Pens.DarkGreen, landScape(i - 1), landScape(i))
'under horizon
paper.DrawLine(Pens.LightGreen, i, landScape(i).Y + 1, i, pcbDrawArea.Height)
'blue sky
'paper.DrawLine(Pens.LightBlue, i, landScape(i) - 1, i, 0)
paper.DrawLine(Pens.LightBlue, i, landScape(i).Y - 1, i, 0)
Next
End Sub
Private Sub drawTanks()
Dim paper As Graphics = pcbDrawArea.CreateGraphics
'draw actual tanks
For i = 0 To gameVars(0) - 1
paper.FillEllipse(Brushes.Black, tanks(i).xLocation, tanks(i).yLocation, 40, 15)
Next
End Sub
Voor een groepswerk (school) Moeten we een kanon(tanks) spel maken
Bij een aantal events moet er op het scherm getekend worden (picturebox)
Het probleem dat ik heb is nadat het landschap (array van points) getekend is en ik laat de tanks (2 ellipsen rond het x en y coordinaat vd tank) tekenen refreshed de picturebox zich
Hij wordt dus terug grijs en ik zie enkel de tanks (die omdat de picturebox niet gerefreshed wordt dus na bewegen een lange zwarte streep worden (wordt later opgelost)
Weet er iemand hoe dit komt en hoe ik het kan verhelpen?
of heeft er iemand een andere werkbare oplossing (ik zou liever niet met bitmaps werken)
groeten
nosmaS
onderstaande functies worden vlak na elkaar opgeroepen
Private Sub drawLandscape()
Dim paper As Graphics = pcbDrawArea.CreateGraphics
'draw landscape
For i = 1 To pcbDrawArea.Width
'land (horizon)
paper.DrawLine(Pens.DarkGreen, landScape(i - 1), landScape(i))
'under horizon
paper.DrawLine(Pens.LightGreen, i, landScape(i).Y + 1, i, pcbDrawArea.Height)
'blue sky
'paper.DrawLine(Pens.LightBlue, i, landScape(i) - 1, i, 0)
paper.DrawLine(Pens.LightBlue, i, landScape(i).Y - 1, i, 0)
Next
End Sub
Private Sub drawTanks()
Dim paper As Graphics = pcbDrawArea.CreateGraphics
'draw actual tanks
For i = 0 To gameVars(0) - 1
paper.FillEllipse(Brushes.Black, tanks(i).xLocation, tanks(i).yLocation, 40, 15)
Next
End Sub