返回列表 回复 发帖 免费玩斗地主,每分钟送Q币

[进阶应用] ppT与flash交互

示例文件下载: flash与ppt的交互技术.rar (298.14 KB)

详细内容见: 如果将PPT看作是一个容器或者载体,就可以在PPT中加载很多东西,比如视频,声音或者Flash。

其中能够插入Flash是一个很激动人心的功能。关于在PPT中如何插入Flash,并不是本文要探讨的内容。

人有时候就是这样,在得到一些后,总想得到更多。如果仅仅是单纯的插入Flash,总觉得不够。Flash最擅长的就是交互,如果Flash能后PPT交互该多好!想象一下,各种效果漂亮的Flash按钮在PPT中能直接操控,执行各类动作,就象是ppt自己的按钮一样,那是如何的舒服。


能不能达到这个要求呢?答案是肯定的,在参考研究了一些案例后,将我自己摸索的经验分享如下:

解决问题的思路是很重要的,我们来想一下: 如果要Flash和PPT交互,第一当然是要Flash发出命令,然后PPT能接收到这些命令,跟着执行相关动作。

 思路清晰后,问题就变得简单了。

我们先来解决第一个问题:Flash如何能发出命令并让外部程序接收命令?

这个相对简单,Flash中本身就有一条命令专门发送给外部程序的:
fscommand,比如在Flash按钮动作中加上如下代码:
======================
on (release){ fscommand("a2"); }

======================
这是一段非常简单的代码,对FLASH稍微有点理解的人都知道。
这样点击这个Flash按钮的时候,Flash就会向外部程序发送一个信号,信号的名字是a2,这个a2可以是你任意的字符串,这个就不多说了。

 接着解决第二个问题:要PPT能接收这个“a2“信息并作出处理。
 ;PPT中自带的falsh控件Shockwave Flash object,这个控件有其中一个方法FSCommand就是用来接收Flash发出的命令,真是太好了!

接下来的事情就好办了。

在这个方法中写下代码做接收和处理就行了,大致如下:
 ==============================
Private Sub ShockwaveFlash_FSCommand(ByVal command As String, ByVal args As String) Select Case command Case "a1" '如果falsh发出的名利是a1 '这里写PPT要做的动作 Case "a2" 如果falsh发出的名利是a1 '这里写PPT要做的动作
....... End Select End Sub ============================== 到这里,问题基本解决了,PPT已经能读懂Flash的话了,并且可以执行交互,基本应用没有什么问题了,看来也不是太难。

但是,在摸索的过程中还有一些问题是没有解决的:

 1.上述办法是针对PPT自带的flash插件Shockwave Flash object的,而我们喜欢用的另一个插件Flash Movie并没有提供任何可以编程的方法,也就是说用Flash Movie插入的Flash用上述方法不能和PPT交互。

 2.在应用某些功能,比如PPT导航播放时,在我实际的测试中有时候会发生错误,是PPT本身的BUG还是什么,不知道。 3.当把Flash嵌入到PPT中的时候,交互就失效了。所以一定要把Flash文件放在外部,虽然问题不大,但毕竟不方便。 这篇文章纯粹是技术帖,写出来的目的是我查了很多资料,几乎没有关于这类的探讨,好像是在黑暗中摸索,希望能有更多的爱好者和技术牛人指点,有更多的方法使Flash和PPT的交互更成熟可靠。 单纯的在PPT中插入一个Flash,意义实在不大,而一旦Flash能和PPT交互,那将是一个新世界。

这个论坛太不合理了,无法下载

这个论坛太不合理了,无法下载
应该可以下载的!
说实在话,flash的AS功能已经相当强大,PPT远远比不上,不如直接flash做好插入PPT中!

回复 4楼 铁血 的帖子

你的车子好拉风
的车子好拉风
返回列表
高级回复 | 发新话题
B Color Image Link Quote Code Smilies
换一个