返回首页
当前位置: 主页 > 精通Office > PowerPoint教程 >

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

时间:2015-01-27 19:33来源:知行网www.zhixing123.cn 编辑:麦田守望者

利用vba制作直线路径——完全非弹性碰撞动画(本程序执行完一遍以后可以删掉)。

 1、要做的效果是:左边的球中心运动到(9cm,10cm)时,两球立刻以原来速度的一半向右滑出画面。因此,需要对m1设置两段动画——碰撞前的运动较快,碰撞后的运动较慢,m2设置一段动画——但要和m1的第二段一起执行。

 2、先把幻灯片页面设为32cm宽,进入vba环境,编写下面的程序。

Public Sub AddMotionPath()
Dim m1 As Shape, m2 As Shape, effNew As Effect, aniMotion As AnimationBehavior
Set m1 = ActivePresentation.Slides(1).Shapes.AddShape(Type:=msoShapeOval, _
Left:=cm2p(1), Top:=cm2p(10), Width:=cm2p(1), Height:=cm2p(1))
m1.Fill.ForeColor.RGB = RGB(255, 0, 0)
Set m2 = ActivePresentation.Slides(1).Shapes.AddShape(Type:=msoShapeOval, _
Left:=cm2p(12), Top:=cm2p(10), Width:=cm2p(1), Height:=cm2p(1))
m2.Fill.ForeColor.RGB = RGB(0, 0, 255)
Set effNew = ActivePresentation.Slides(1).TimeLine.MainSequence _
.AddEffect(Shape:=m1, effectId:=msoAnimEffectPathRight, Trigger:=msoAnimTriggerOnPageClick)
Set aniMotion = effNew.Behaviors.Add(msoAnimTypeMotion)
aniMotion.MotionEffect.Path = "M 0 0 L " & 10 / 32 & " 0"
aniMotion.Timing.Speed = 1
Set effNew = ActivePresentation.Slides(1).TimeLine.MainSequence _
.AddEffect(Shape:=m1, effectId:=msoAnimEffectPathRight, Trigger:=msoAnimTriggerAfterPrevious)
Set aniMotion = effNew.Behaviors.Add(msoAnimTypeMotion)
aniMotion.MotionEffect.Path = "M " & 10 / 32 & " 0 L 1 0"
aniMotion.Timing.Speed = 0.5
Set effNew = ActivePresentation.Slides(1).TimeLine.MainSequence _
.AddEffect(Shape:=m2, effectId:=msoAnimEffectPathRight, Trigger:=msoAnimTriggerWithPrevious)
Set aniMotion = effNew.Behaviors.Add(msoAnimTypeMotion)
aniMotion.MotionEffect.Path = "M 0 0 L " & 22 / 32 & " 0"
aniMotion.Timing.Speed = 0.5
End Sub  程序一开始绘制两个小圆形,直径均为1cm,单位需要转化为磅,其中有两句是用指定颜色填充。

  然后,程序添加3段向右运动的效果,AddEffect方法的Shape参数是指定应用动画的对象,effectID指定动画效果,Trigger指定动画发生时间(这里是单击幻灯片页面时发生),后面定义路径(字母M定义起点,M 0 0就是表示对象当前位置为起点,L表示直线运动到的位置,L 10/32 0表示横向向右运动幻灯片宽度的10/32,另外还有C、Z、X、H、V命令),再定义速度。以下定义碰撞以后m1和m2的运动效果,语句大体不变,只改变动画发生时间(m1的为前一动画结束时,m2与m1的第二段动画同时)和速度。cm2p()函数见上文。

  以上程序只需要执行一遍即设置完毕,然后可以删掉语句。

------分隔线----------------------------
标签(Tag):ppt ppt技巧 PowerPoint技巧 PowerPoint教程 幻灯片 poweroint poweroint技巧 PPT模板
------分隔线----------------------------
推荐内容
猜你感兴趣