- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用3种办法实现3D旋转动画
使用3种办法实现3D旋转动画。
非常感谢术士提供代码和部分思路!
代码/术士 文章/Zaoeyo
纯VBA方法之一:2003版
在第一张幻灯片上画一个图形,然后立体化,利用一下语句实现3D旋转:(物体绕Y轴旋转225度后又回来)
Dim a As Slide
Dim b As Shape
Set a = ActivePresentation.Slides(1)
Set b = a.Shapes(1)
For i = 1 To 225
t1 = Timer
While Timer - t1 0.04
DoEvents
Wend
b.ThreeD.IncrementRotationY 0.4
Next
For i = 1 To 225
t1 = Timer
While Timer - t1 0.04
DoEvents
Wend
b.ThreeD.IncrementRotationY -0.4
Next
End Sub
VBA里面有个代码可以控制图形的InCameraRotation的数值,
顾名思义,In Camera Rotation的中文意思就是在摄像机镜头内的旋转,也就是三维旋转,其中InCameraRotationX n 代表绕X轴旋转n度
InCameraRotationY n 代表绕Y轴旋转n度
在PPT2003中,绕Z轴旋转的代码是InCameraRotation n
在PPT2007中,绕Z轴旋转的代码是InCameraRotationZ n
那么,我们可以将幻灯片中的某个图形执行这个代码,比如说第一个图形执行
InCameraRotationX 1,执行一次后,图形绕X轴旋转1度。
如果总是执行这个代码呢?图形旋转1度后又旋转1度,总是这样,不就形成了3D旋转吗?
为此,术士增加了一个循环语句:
For i=1 to 225,也就是从1循环到225度。但是电脑执行速度会非常快,我们根本看不到从1度到225的变化,也就是说,执行后,一瞬间,物体就从1变成了225度,所以为了解决这个难题,术士增加了一个While语句,设置一个计时器来控制每次循环的时间:
t1 = Timer
While Timer - t1 0.1
DoEvents
Wend
其中0.1是每隔多少秒旋转1度。时间越小,动画就会越连贯,推荐使用0.04秒。
那么这样就实现了3D旋转。基础代码如下
Dim a As Slide
Dim b As Shape
Set a = ActivePresentation.Slides(1)
Set b = a.Shapes(1)
For i = 1 To 225
t1 = Timer
While Timer - t1 0.1
DoEvents
Wend
b.ThreeD.IncrementRotationY 0.4
Next
End Sub
纯VBA方法二:2003版
VBA里面有个复制粘贴的代码,如果将原图形复制粘贴一份,并利用3D旋转的VBA代码旋转1次,再删除原图形,如此循环,那么就行成了3D旋转动画。
代码如下:(同样地,按方法一那样先在第一个幻灯片内化一个3D矩形)
Sub Duplicate()
Dim a As Slide
Dim b As Shape
Set a = ActivePresentation.Slides(1)
Set b = a.Shapes(1)
For i = 0 To 50
With b.Duplicate
.Top = 150
.ThreeD.IncrementRotationY i
t = Timer
While Timer - t 0.04
DoEvents
Wend
.Delete
End With
Next
End Sub
利用Duplicate复制粘贴代码实现
For i = 0 To 50 / 循环从0到50
With b.Duplicate / 执行b(上面定义b为第一张幻灯片的第一个图形)的复制粘贴
.Top = 150 / 在幻灯片页面150的高度处出现新复制粘贴的原图形
.ThreeD.IncrementRotationY i / 将原图形按Y轴旋转i度,也就是从0度到50度
t = Timer / 将t作为计时器
While Timer - t 0.04 / 设置时间为每隔0.04秒执行以上代码
DoEvents /必要代码
Wend /结束While语句
.Delete /删除原图形
End With /结束With语句
Next /结束For语句
方法三:VBA+自定义动画(2007版)
3D旋转的宏代码:sub 1()Ac
您可能关注的文档
- Wu Bangguo在中美经贸合作论坛开幕式上的致辞.doc
- Wxgfsa托福红宝书.doc
- 04-05高数(下)标准答案(B).doc
- 2011-2012学年第一学期九年级物理第一次考试卷.doc
- 2011-2012高二下期第二次月考物理试卷.doc
- 2013年九年级物理复习:光现象作图(重点).ppt
- 2011机械能内能复习1.ppt
- _4F3C_大学四级必威体育精装版版高频词汇(内部资料).doc
- [四级阅读] 四级考试阅读高频词汇分类总结-社会道德类.doc
- [六级考试最该记住的100个词汇].doc
- 2024至2030年中国人造棉面料行业投资前景及策略咨询报告.docx
- 重庆市渝中区遴选公务员2024年国家公务员考试考试大纲历年真题10340笔试历年典型考题及解题思路附.docx
- 2024至2030年中国甲基苯乙酮行业深度调研及发展预测报告.docx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
文档评论(0)