2016 - 2024

感恩一路有你

用VB6设计有趣的动画场景

浏览量:3621 时间:2024-01-29 15:21:30 作者:采采

编程原理

经常看电视的朋友一定会注意到许多动画片的场面制作得非常精美,那么能不能用VB6设计类似的场面呢,答案是肯定的,下面的代码可以慢慢的画出随机形状、可以设定树枝密度的“树”,并且可以在这棵树上慢慢的“结”出指定数量的红色的“果子”——非常的有趣。

我们可以用适当宽度的line控件分别在窗体上画出“树干和树枝”,然后用shape控件画出圆圆的大小适当的“果子”,并放在“树枝”的末梢。这两个控件的颜色和大小都可以自由设置。在下面的代码中,也将展示VB6的“无中生有”动态创建控件数组的新技术。

编程实践

启动VB6,建立一个标准exe工程,添加两个命令按钮COMMAND1(CAPTION"画出一棵树"),COMMAND2(CAPTION"显示果子"),一个标签控件(CAPTION"树枝密度:"),和一个文本控件TEXT1(用来设置树枝数量),调整上述控件到适当位置,双击窗体,写入以下代码:

```vb

Option Explicit

Dim CreateLines As Integer

Dim Lines As Integer

Dim mLine() As Line ' 注释:树枝

Dim Fruit() As Shape ' 注释:果子

Dim CreateFruit As Integer

Dim Apple As Integer

Dim Evaluate As Boolean ' 注释:是否已经画出了数

Dim Clear As Integer

Dim Eraser As Integer

Dim ShoWApple As Boolean ' 注释:是否已经显示了果子

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) ' 注释:定时器

Private Sub Command1_Click() ' 注释:画出树枝

If Evaluate True Then ' 注释:如果已经画出了树枝

For Clear 2 To UBound(mLine)

Set mLine(Clear) Nothing

Set Fruit(Clear) Nothing

Next

("MotherLine")

For Eraser 2 To UBound(mLine)

("linea" Eraser)

("fruta" Eraser)

Next

End If ' 注释:那么将它们清理

' 注释:否则直接按照TEXT1中设置的数量画出树枝

' 树枝数量

Lines Text1.Text

ReDim mLine(1 To Lines) ' 注释:定义树枝数组

Set mLine(1) ("","MotherLine") ' 注释:初始化树干

With mLine(1)

.X1 ' 注释:据窗体中间

.X2

.Y1

.Y2 ' 注释:高度比窗体小1000单位

.Visible True ' 注释:可见

.BorderWidth 8 ' 注释:树干宽度

.BorderColor vbBlack ' 注释:以黑色填充

End With

' 注释:开始画出树枝

For CreateLines 2 To Lines

Set mLine(CreateLines) ("","Linea" CreateLines)

If CreateLines Mod 2 0 Then ' 注释:向左上方画出随机的直线(树枝)

With mLine(CreateLines)

.X1 mLine(CreateLines/2).X2

.X2 (mLine(CreateLines/2).X2)-(Int(Rnd*1000))

.Y1 mLine(CreateLines/2).Y2

.Y2 (mLine(CreateLines/2).Y2)-(Int(Rnd*1000))

.Visible True

.BorderColor vbGreen ' 注释:以绿色填充

.BorderWidth 3 ' 注释:宽度为3

End With

Else

```

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。