код, который у меня есть, который взаимодействует с e.graphics:
'clear area
e.Graphics.FillRectangle(Brushes.Black, 0, 0, 600, 800)
'draw sand
For Each i In world
e.Graphics.FillRectangle(i.getcolor, i.getx, i.gety, 1, 1)
Next
вот переменные области моих двух классов вместе с их новыми функциями; предположим, что строки get делают то, что, как вы думаете, они делают.
Public Class Sand
Private x As Integer
Private y As Integer
Private type As element
Public Sub New(ByVal x As Integer, ByVal y As Integer, ByVal type As element)
Me.x = x
Me.y = y
Me.type = type
End Sub
Public Class element
Public color As Color
Public weight As Integer = 1
Public spread As Double = 0.5
Public text As String = "null"
Public Sub New(ByVal c As Color, ByVal w As Integer, ByVal s As Double, ByVal t As String)
color = c
weight = w
spread = s
text = t
End Sub
вот точка в моей программе, которая измеряет переменную мира и тому подобное.
Private world As List(Of Sand)
Private paused As Boolean = False
Private openbottom As Boolean = False
Private selected As Integer = 0
Private elements As List(Of element)
'DEBUG VARIABLES
Private debugmode As Boolean = True
Private framenum As Integer = 0
и вот область в моей отладочной части, которая превращает 4 песчинки в 2 разных элемента.
elements.Add(New element(Color.Azure, 1, 1, "Test El 1"))
elements.Add(New element(Color.Aqua, 1, 1, "Test El 2"))
world.Add(New Sand(240, 400, elements(1)))
world.Add(New Sand(440, 200, elements(1)))
world.Add(New Sand(340, 100, elements(2)))
world.Add(New Sand(540, 400, elements(1)))