Differenze tra le versioni di "Disegnare in una DrawingArea una pseudo-galleria rettangolare tridimensionale in prospettiva con effetto grafico di movimento in avanti"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Disegniamo in una DrawingArea una pseudo-galleria rettangolare tridimensionale in prospettiva con effetto grafico di movimento di chi guarda in avanti: Private DrawingArea1 A...") |
|||
Riga 1: | Riga 1: | ||
− | Disegniamo in una DrawingArea una pseudo-galleria rettangolare tridimensionale in prospettiva con effetto grafico di movimento di chi guarda in avanti: | + | Disegniamo in una DrawingArea una pseudo-galleria rettangolare tridimensionale in prospettiva con effetto grafico di movimento di chi guarda in avanti, dando altresì l'impressione di percorrere tratti della galleria, ciascuno diversamente colorato rispetto al precedente: |
Private DrawingArea1 As DrawingArea | Private DrawingArea1 As DrawingArea | ||
Private c As Short = -1 | Private c As Short = -1 |
Versione delle 20:55, 2 mag 2023
Disegniamo in una DrawingArea una pseudo-galleria rettangolare tridimensionale in prospettiva con effetto grafico di movimento di chi guarda in avanti, dando altresì l'impressione di percorrere tratti della galleria, ciascuno diversamente colorato rispetto al precedente:
Private DrawingArea1 As DrawingArea Private c As Short = -1 Private clr As Integer = Color.Blue Private vch As Integer = Color.Blue Public Sub _new() With Me .Center .W = Screen.AvailableWidth .H = Screen.AvailableHeight .Arrangement = Arrange.Fill End With With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1" .Background = Color.White End With End Public Sub Form_Open() Me.Show Do Inc c Wait 0.3 If Object.IsValid(DrawingArea1) Then DrawingArea1.Refresh Else Break Endif Loop End Public Sub DrawingArea1_Draw() Dim b As Byte ' Definisce il rettangolo per disegnare la iniziale pseudo-galleria in 3D: For b = c + 1 To 20 With Paint .Rectangle((DrawingArea1.W * 0.5) - ((DrawingArea1.W * (b / 20)) / 2), ((DrawingArea1.H * 0.5) - (DrawingArea1.H * (b / 20)) / 2), DrawingArea1.W * (b / 20), DrawingArea1.H * (b / 20)) .LineWidth = 2.5 .Brush = Paint.Color(vch) .Stroke() End With Next ' Definisce il rettangolo per disegnare la nuova pseudo-galleria con un colore diverso: If c == 0 Then clr = Rand(&000099, &FFFF99) For b = 0 To c With Paint .Rectangle((DrawingArea1.W * 0.5) - ((DrawingArea1.W * (b / 20)) / 2), ((DrawingArea1.H * 0.5) - (DrawingArea1.H * (b / 20)) / 2), DrawingArea1.W * (b / 20), DrawingArea1.H * (b / 20)) .LineWidth = 2.5 .Brush = Paint.Color(clr) .Stroke() End With Next If c = 20 Then Paint.End() c = 0 vch = clr clr = Rand(&000099, &FFFF99) Endif End