|
楼主 |
发表于 2014-12-1 11:04
|
显示全部楼层
本帖最后由 aoe1981 于 2014-12-2 18:32 编辑
香川群子 发表于 2014-12-1 10:09
延时部分用DoEvents的For循环处理这样并不好。
因为实际循环速度和机器的配置有关。不同的电脑就会产生 ...
香川,改成sleep的,运行了下,反而没有逐步动画演示的效果,真是奇怪,是不是我的相关代码运用错误:
相关代码如下:
- Public Sub DongHua(jp$, n1%, m1%, m2%) '动画(金片、金片序号、开始针、到达针)
- Dim i&, zy%, tj& '左右、调节
- tj = aoe.Range("b2").Value
- aoe.Shapes(jp).Select
- With Selection.ShapeRange
- For i = .Top To zb2(1, 2) - 30 Step -1 '金片上移
- .IncrementTop -1
- Sleep tj
- Next i
- If zb2(m1, 1) < zb2(m2, 1) Then zy = 1 Else zy = -1
- For i = WorksheetFunction.Min(zb2(m1, 1), zb2(m2, 1)) To WorksheetFunction.Max(zb2(m1, 1), zb2(m2, 1)) - 1
- .IncrementLeft zy '金片左右平移(须注意植树问题在此的应用,否则效果会偏差,此问题极隐蔽,极不易测试察觉)
- Sleep tj
- Next i
- For i = zb2(1, 2) - 30 To zb2(1, 4) - (hjj + h) * (jps(m2) + 1) '金片下移
- .IncrementTop 1
- Sleep tj
- Next i
- End With
- End Sub
复制代码 附件如下:
汉诺塔动画演示(sleep版).rar
(54.25 KB, 下载次数: 195)
(2014-12-01 19:15已修正,该版本为最佳版本,可以适应不同配置的电脑运行快慢的调整)
(已更新,不显示控制点)
|
|