|
如果将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交互,那将是一个新世界。
惯例,提供一个测试文件,代码都在里面,希望有更多的人来关注这一部分。
如果将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交互,那将是一个新世界。
惯例,提供一个测试文件,代码都在里面,希望有更多的人来关注这一部分。 |
|