|
This is similar to the dice program except that I have added
animation to the program. To add the animated effect, you need to include the
timer control into your program. In the timer's properties windows, set the
timer enabled to false and the interval to 10. You can change the interval
to any number you want. Under the roll dice command, set the timer to enabled.
You also need to create a subroutine and name it as roll. Under the roll
subroutine, enter the codes that display the different faces of the dice. To
create the animated effect, you need to declare a global variable x and
assign an initial value of 0 to it, then include the statement x=x+10 so
that the value of x increase 10 units after an interval of 10 milliseconds.
Finally, type in the statement
If x < 1000 Then roll Else Timer1.Enabled = False End If
under the timer subroutine to stop the timer. When you click the button roll
dice, you will see that faces of the dice will be changing and the come to
a stop.
The Design Interface

The Run Time Interface
 |
Dim x As Integer
Sub roll( ) x = x + 10 Randomize Timer n = Int(1 + Rnd * 6) For i = 0 To 6 Shape1(i).Visible = False Next If n = 1 Then Shape1(3).Visible = True Shape2.FillColor = &HC0C0C0
End If If n = 2 Then Shape1(2).Visible = True Shape1(4).Visible = True Shape2.FillColor = &H8080FF End If If n = 3 Then Shape1(2).Visible = True Shape1(3).Visible = True Shape1(4).Visible = True Shape2.FillColor = &H80FF& End If If n = 4 Then Shape1(0).Visible = True Shape1(2).Visible = True Shape1(4).Visible = True Shape1(6).Visible = True Shape2.FillColor = &HFFFF00 End If |
If n = 5 Then Shape1(0).Visible = True Shape1(2).Visible = True Shape1(3).Visible = True Shape1(4).Visible = True Shape1(6).Visible = True Shape2.FillColor = &HFFFF& End If If n = 6 Then Shape1(0).Visible = True Shape1(1).Visible = True Shape1(2).Visible = True Shape1(4).Visible = True Shape1(5).Visible = True Shape1(6).Visible = True Shape2.FillColor = &HFF00FF End If End Sub Private Sub Command1_Click() Timer1.Enabled = True x = 0 End Sub
Private Sub Timer1_Timer() If x < 1000 Then roll Else Timer1.Enabled = False End If
End Sub |
|
|