首页officeppt正文

例谈制作交互性更强的ppt课件(十四)

强国说学习2022-02-14403课件十四ppt更强制作交互性例谈

利用程序实现变速动画——平抛运动。

  本例中的多数代码必须在放映幻灯片时运行,因此如果是2007或者更高版本,需要保存为“启用宏的Powerpoint文稿(*.pptm)”。

 1、输入如下代码。

Private Declare Function SetTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public lTimerID As Long, i As Integer
Public Sub drawOval()
Dim shp As Shape
ActivePresentation.Slides(1).Shapes.AddShape(msoShapeOval, cm2p(1), cm2p(1), cm2p(1), cm2p(1)).Name = "o1"
End Sub
Sub moveOval()
Dim j As Integer
If i = 100 Then
ActivePresentation.Slides(1).Shapes("o1").Left = cm2p(1): ActivePresentation.Slides(1).Shapes("o1").Top = cm2p(1)
i = 0
For j = 0 To 99
ActivePresentation.Slides(1).Shapes("line" & j).Delete
Next
ElseIf i = 0 Then
StartTimer 10
End If
End Sub
Sub StartTimer(lDuration As Long)
If lTimerID = 0 Then
lTimerID = SetTimer(0&, 0&, lDuration, AddressOf OnTime)
Else
Call StopTimer
lTimerID = SetTimer(0&, 0&, lDuration, AddressOf OnTime)
End If
End Sub
Sub StopTimer()
KillTimer 0&, lTimerID
End Sub
Sub OnTime()
Dim x1 As Single, x2 As Single, y1 As Single, y2 As Single
x1 = ActivePresentation.Slides(1).Shapes("o1").Left+cm2p(0.5): y1 = ActivePresentation.Slides(1).Shapes("o1").Top+cm2p(0.5)
ActivePresentation.Slides(1).Shapes("o1").Top = cm2p(1 + i * i / 1000)
ActivePresentation.Slides(1).Shapes("o1").Left = cm2p(1 + i / 10)
x2 = ActivePresentation.Slides(1).Shapes("o1").Left+cm2p(0.5): y2 = ActivePresentation.Slides(1).Shapes("o1").Top+cm2p(0.5)
ActivePresentation.Slides(1).Shapes.AddLine(x1, y1, x2, y2).Name = "line" & i
i = i + 1
If i = 100 Then StopTimer
End Sub



  头两段程序引入定时器的API函数,并定义两个全局变量。第三段程序是绘制一个小球并命名(本段运行一次以后可以删掉)。第四段程序,如果i=0,则启动定时器,i=100则重新初始化程序。第五段程序是启动定时器,具体定时器触发的代码见最后一段程序。第六段程序是停止定时器。第七段——也就是最后一段程序——移动小球并画出一条轨迹,当i=100时终止程序。cm2p函数见前面。

  以上在画图的同时给画图对象命名,这样做的目的是,以后可以方便地通过名字操作所绘制的对象。

 2、先在设计视图下执行前面的第一段程序,并绘制一个矩形作为按钮。

 3、选中刚才绘制的矩形,在“插入”选项卡里单击“动作”按钮,弹出对话框。单击“运行宏”,然后在下拉框里选择moveOval,即可放映运行。

文章内容由WPS之家(wps.qiangguoshuo.com)收集于网络,希望能为广大朋友提供帮助。

  本文是在运行时逐段画出轨迹的,也可以在画出小球时同时画出抛物线轨迹(用AddPolyLine方法),并画一与背景颜色相同的矩形盖住轨迹,然后在运行时同时移动小球和矩形。

如想转载该文章请注明出处:强国说学习-qiangguoshuo.com
强国说学习

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://www.qiangguoshuo.com/ppt/7300.html