且行资源

关注教育技术发展与应用,关注学习资源设计与开发技术。

上一篇: 王竹立:我的教育技术自传整理版(同步更新) 下一篇:让排版也自动批处理

Flash与PPT之间交互

szichuan发表于2009-2-8 03:30 分类: 教育技术|PPT浏览: 评论: 1  【我来说两句】

原文地址见:http://pptdesign.blogbus.com/logs/34751222.html

如果将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交互,那将是一个新世界。

惯例,提供一个测试文件,代码都在里面,希望有更多的人来关注这一部分。

下载:http://www.etthink.com/thread-3739-1-1.html

本文链接地址:http://www.qiexing.com/post/1038.html

且行微博】【已有1位网友发表了看法,点击发表

 

  • quote 1楼.立体几何
  • Gravatar Icon
  • 如果将flash放入web容器中再插入,这样就不用让flash同ppt直接交互了
    且行 于 2010-7-21 9:56:03 回复
    这个是好方法
  • 2010-7-21 9:44:03 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

且行资源

QQ:510280445

E-mail:szichuan@gmail.com

最新评论及回复

最近留言

网站分类

热文排行使用

教育技术 版权所有且行 设计程序:RainbowSoft Studio Z-Blog

联系方式:sunfang@qiexing.com QQ:510280445 电话:013955453231
转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议. 皖ICP备07002369号