整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

关于PPT中的视频与交互触发效果,这些知识冷门却实用


周末,我给大家分享了 100 页矢量视频边框素材,你遇见了么?


  • PPT默认的视频样式太丑?我为你准备了100页好看的视频边框!


关于 PPT 中插入视频,在我初学 PPT 的时候,把我折腾得够呛,经常会遇到各种兼容或使用上的问题。


要么是视频插入不了,要么是自己电脑上播放正常,换台电脑视频就放不了。


有时候设置动画也一样窝火,要么不会自动播放,要么就只出现视频,图文内容全都看不见。


不知道你有没有遇到过这些情况?


反正我做了这么多年 PPT,搞定过超多神奇的设计需求,算是把视频相关的坑都踩了一遍。


今天,我就给大家分享一些,有关 PPT 中插入视频的小知识,连大神用了都说好!



01. PPT 中插入视频,如何在其他电脑也能正常播放?


这个问题,几乎每年都会被一些朋友问到,不过随着软件版本的升级,问的人倒是越来越少了。


PowerPoint 从 2010 版开始,视频支持直接嵌入到 PPT 中,直接把视频文件拖进 PPT 就自动嵌入了。


这时候要把 PPT 放到其他电脑上,如果这台电脑也是 2010 及以上版本,或者是新版 WPS,通常视频都能正常播放。


如果这台电脑是更低的 03 或 07 版,那么就算视频嵌入了,也无法正常播放。


此外,2010 版与 2013以上版本,对视频格式的兼容也有所不同。


有时候会出现插入的 mp4 格式的视频,在 WPS 或其他版本的电脑上播放不了。


为了解决这个问题,可以使用格式工厂之类的转换工具,将 mp4 格式的视频转换为 wmv 格式,相对来说视频的兼容性更好些。


如果你现在用的是 2003 或 2007 版,视频插入进去后,在自己电脑上是可以播放的。


但是需要注意,低版本插入视频,文件是通过链接的形式存在的,视频并没有嵌入到 .ppt 文件中。


而这种链接形式的视频插入,又分为两种情况,即文件地址的相对路径,以及文件地址的绝对路径。


在相对路径的情况下,只要把 .ppt 文件和视频文件所在的文件夹,一起拷贝到其他电脑,那么 PPT 中的视频就能正常播放。


而如果插入视频的时候用的是绝对路径,即使把文件夹拷贝过去,也无法正常播放,需要在拷贝后的电脑上重新插入一遍。


不过呢,如果你打算用 07 之类的低版本,还要保证其他电脑能正常播放,其实也不用去管是啥路径,估计你也看懵了。


只要做好 PPT 并把视频插入进去,然后点击文件-导出,选择打包成 CD



把用到的 PPT 和音视频文件都选中,最后选择复制到某个文件夹即可。


这时候,PPT 及里面用到的音视频文件,就都在该文件夹里了,而且链接的路径都是正确的。


使用的时候,只需要把该文件夹拷贝到其他电脑上,视频就可以正常播放了。


最后,如果看完这些,你还是不会操作,可以找万能的某宝,花点小钱找个 PPT 设计师帮你搞定。


02. 为啥我的 PPT 插入不了视频?


怎么让视频在其他电脑播放,这个倒是学会了,关键是我连视频都插入不进去,这可咋办啊?


听起来很神奇对不对,但确实有不少人遇到过这个问题,包括我自己。


这个问题,又要分好几种情况:


第一种情况,插入的 avi 等 PowerPoint 能支持的格式,但 WPS 可能用不了。


这个前面介绍过了,为了保证兼容性,最好把视频文件转换为 mp4 或 wmv 格式。


第二种情况,下载的视频本身就是 mp4 格式,为啥没法插入到 PPT 中,或者提示需要升级转码?


这是因为即使同样是 mp4 文件,也存在不同的编码格式。


要么你使用的 mp4 文件编码格式不被支持,要么你的电脑上缺少对应的解码工具,所以视频无法正常插入与播放。


第三种情况,我从爱奇艺或腾讯视频下载的 QSV 或 QLV 格式,为什么无法插入到 PPT 中。


不同版本 PowerPoint 所支持的视频格式是不同的,而且有格式限制,这些网络平台下载的视频格式,往往需要特定的解码工具才能播放。


可以在网上搜索对应的视频格式转换或下载工具,将这些特殊格式的视频转换为 mp4 或 wmv 格式,再插入到 PPT 中使用。


网址:https://www.aboutppt.com/sites/8746.html


第四种情况,为什么我带有 alpha 通道的 mov 格式的视频,插入 PPT 后背景不是透明的。


这个问题我曾经纠结过很久,当时网上有教程说可以插入透明背景的视频,但我一直没有复现出来。


直到今年 @墨鲜声 在群里提到,我才知道实现的条件极为苛刻,以下信息仅供大家参考:


需要 win7 32 位系统,32 位 OFFICE 2010 版本,更高版本的 office 不支持 alpha 通道。


可能还需要 K-Lite 解码器,而非网上说的安装 QuickTime 就能使用。


第五种情况,PPT 插入的在线视频突然无法播放。


这又要细分几种不同的情境了,有可能你插入的在线视频链接失效,导致视频无法正常播放。


也有可能你插入的是联机视频,即 Youtube 上面的视频,换电脑后网络环境不一样,无法链接到 YouTube 导致视频无法播放。


还有可能你插入的播放控件有兼容性问题,换电脑后不支持该播放控件,所以在线视频无法正常播放。


亦或者,这是早期插入的 flash 文件,flash 链接了一个在线视频地址,该视频地址已经失效,导致 flash 中的视频无法播放。


最后,目前主流工作环境已经抛弃了 flash,很可能你的电脑上没安装 flash 播放器,导致以前插入的 swf 视频无法播放。


03. 有关 PPT 中的视频,其他你听过和没听过的疑难杂症!


视频设置为背景循环播放的时候,为什么看不到其他图文内容?


这是因为你在设置视频自动播放时,把“全屏播放”这个选项给勾上了,导致视频播放时盖住了其他图文内容。



只需要把“全屏播放”给取消勾选,就能看到视频上层的图文效果了。


视频播放的时候,鼠标移动过去,在视频底部总有个很难看的进度条该怎么办?



如果你不需要在演示的时候显示该进度条,可以在上方绘制一个透明度为 100% 的矩形,只要该矩形将视频完全盖住即可。



这样当鼠标移动上去的时候,鼠标的悬浮等指令就会被该矩形给遮住,就无法触发视频显示进度条了。


不会视频剪辑软件,可以用 PPT 剪辑视频么?


如果你的耐心足够,是可以使用 PPT 的“裁剪视频”功能来剪辑视频的。



不过,为了自己的头发着想,建议还是用专业的视频剪辑工具。


插入视频后,感觉视频的封面(缩略图)有点丑,可以换其他图片么?


可以选中视频后,在“海报框架”选项中,替换该视频的封面图:



通常,换视频封面图,除了可以让视频看起来更有吸引力,还可以用来“挂羊头卖狗肉”,或者保持神秘感。


PPT 中的视频可以使用外挂字幕么?


可以,高版本 PowerPoint 支持给视频添加字幕文件,目前仅支持 VTT 格式的字幕,可以在“插入题注”中选择对应的字幕文件。



插入完成后,在视频的右下角会出现对应的字幕选项,可以从多个字幕中选择一个使用,也可以关闭字幕。


听说 PPT 自带的库存视频不错,为什么我这没有,或者打开的时候报错?


库存视频功能,需要高版本 PowerPoint 才能使用,如果你的插入选项卡-视频选项中没有“库存视频”这个选项,说明你的软件版本不支持。


确实需要使用的话,可以试试 365 或 2016 mondo 版本。


如果你的界面上有“库存视频”这个选项,但是打开后报错,像下面这样:



一般有两个方面的原因,要么是电脑区域设置的问题,要么是浏览器选项设置的问题。


首先,在开始菜单搜索“区域设置”



打开后,将国家或地区改为美国,一般改成其他国家也可以,貌似微软就只限制了中国区的使用。



修改了地区之后,如果还是无法打开库存视频,接着在开始菜单搜索“Internet选项”



打开后,点击“高级”,把“使用TLS 1.2”勾选上,点击右下角的“应用”



操作完成后,刷新一下库存视频窗口,就可以正常显示所有视频了:



如果你无法正常插入 3D 模型、联机图片或者在线图标,解决步骤也一样。


04. PPT 视频与交互的特殊用法


本来写到上面第 3 节,今天的知识点就已经非常多了,可以火速收工。


但鉴于上周分享视频边框的时候,有些小伙伴提到交互的用法,接下来我就再分享一些知识点吧。


下面的属于进阶内容,我点到为止,更深入的玩法还得你自己去上手试试,这样才能掌握精髓。


首先,上周的视频边框,可以直接把视频拖进去,置于底层,然后调整上方色块的透明度。



把整体变成一个视频封面,让人一看就知道这里是一个视频,能够点击播放。


这种设计思路,在课堂或展会等触摸屏设备中,非常直观好用。


接着给视频添加点击触发效果,将触发器设置为上方的视频边框:



同时为视频边框添加触发消失动画,与上一动画同时开始:



点击视频边框中的播放按钮后,视频会开始播放,而视频边框则会自动消失。


如果你还想保留底部的进度条,使其移动的速度与视频一致,也可以为进度条添加伸展动画,或者使用遮罩来实现。


遮罩的使用,以及更多交互触发相关的用法,可以看看下面这篇文章:


  • 我花了870分钟,做了一份交互型产品介绍PPT


里面涉及的交互与动画知识点非常多,应该够你狠学一会儿了。


此外,这些视频边框除了可以正常覆盖在视频上方,还可以与视频一起三维旋转,设置三维格式。



想一想,如果再加上平滑切换效果,导出为无背景的 GIF 动图,重新插入到 PPT 中,会不会非常炫酷呢?


最后补充一个冷门知识点,插入视频并播放后,可以为其添加书签效果。



使用视频书签功能,可以让其他动画定时自动触发:



更冷门的是,触发器动画与常规动画效果互不干扰。


也就是说,以往单击会强制结束上一个动画,现在改成书签自动触发,单击出现下一动画的同时,上一个动画也不会受到影响,还能继续进行。


可能比较绕口,主要是绝大部分人都碰不到这种需求,等以后啥时候碰到了,回头再看一眼就都懂了。


最后,除了视频有书签功能,音频也有类似的功能用法,在播放音频的时候,动画选项中会出现一个“搜索”的动画。


具体的使用方法,感兴趣可以看一下 @Jesse 老师的这篇文章:


  • 新学期好~和大家聊聊如何制作音乐课件中的图形谱


以上,就是今天分享的全部内容,希望对大家有所启发~

DESCRIPTION]

根据自身需求,客户有时候需要把某一段数据/代码放在Flash的某个固定地址

[SOLUTION]

如果需要把数据/代码放到Flash的固定地址,请参照如下操作步骤:

1. 首先要判断Flash上面,是否有足够的空闲空间存放这段数据.

请打开build\project\ckImgsize.log,找到如下资讯:

[Check VIVA bin size]

The Boundary of VIVA bin = xxxxx bytes

Actual VIVA End Address = yyyyy bytes

其中,Actual VIVA End Address的值表示的是,目前Code区域实际的大小; The Boundary of VIVA bin是表示

预留给Code的区域大小。实际值与预留值之间的差值,就是目前Flash的空闲大小.如果空闲空间足够,那就可以考虑把

数据放到Flash空闲区域的某个固定地址.来自半导体社区

2. 把数据/代码编译链接生成customer binary 。为了操作简单,建议把customer bin放在工程中一起编译链接.

3. 在SV5(如:50/60/76)平台中,BIN都有一个GFH结构,所以为了能让Flash tool能否识别customer binary ,需

要给这个BIN添加一个GFH结构。

[关于这一点可以参考FAQ07397--------如何添加GFH头部和利用flash tool下载 ]

4. 为了让Flash tool顺利的把BIN放到固定地址,还需要对scatfile进行修改.

例如:如果要把数据放到0x400000开始的地址;[在这里要注意一点,在50/60平台Flash的起始地址是从0x1000

0000开始]

MY_ROM 0x10400000 0x00200000 //这里表示从0x400000开始,范围为0x200000

{

MY_GFH +0x0

{

* (MY_GFH, +First)

}

MY_ROM_1 +0x0

{

mytest.obj (+RO)

5. 修改scatfile之后,为了防止编译之后被覆盖,需要在scatfile文件的注释部分添加: [MAUI_12345678]

1、绪论

1、flash概叙

2、Flash相关技术介绍

1、什么是flash动画

2、ActionScript语言历史简谈

1、ActionScript 3

2、ActionScript 3 的优点

3、XML介绍

1、XML格式

3、为什么要在Flash中添加上AS语言呢?

1、简单的流星雨

2、简单的流星雨(as)

1、把库中的元件加载到舞台上

2、AS3的事件侦听机制

3、在AS3中改变对象的位置和缩放对象

4、演示

3、XML的运用

1、新建FLASH

2、创建 viewer.as 的类

3、创建pics,xml 的文件

4、总结

5、致谢

6、参考文献

AS3.0语言在Flash编程中的应用

学生: 何万凯

指导教师: 谢艳萍



摘 要

XML是Extensible Markup Language(可扩展标记语言)的缩写,是一种表示结构化信息的标准方法,因其简单、灵活且易于读取、访问及处理,尤其因为在数据交换和可移植等方面具有优势,已成为事实上的工业标准。它可以使计算机方便地操作各类信息,并且人们可以非常方便地编写和理解这些信息。它让AS3.0与flash连得更加亲密。


关键词:结构化信息; 服务器; 策略文件; 远程过程调用; 信息检索; 过滤器;


Flash in the application AS3.0 programming

language study

Name: He Wan Kai

Supervisor: Xie Yan Ping


Abstract


XML is Extensible Markup Language(can expand sign language) abbreviate, it is a kind of standard means that represents structured news, because its are simple, agile and read easily take, visit and processing, because exchange and can transplant in data,wait for a respect to have an advantage especially, already became in fact industrial standard. It can make the computer handles of all kinds information conveniently, and people is very OK be written conveniently and understand these message.


Keywords: Structured information; The server. Strategy file; Remote procedure calls;

Information retrieval; Filters

绪论


FLASH概述

Flash 由macromedia公司推出的交互式矢量图和 Web 动画的标准。网页设计者使用 Flash 创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。

flash涉及到的领域:动画游戏制作,网络构件,学习课件,网站广告设计及全flash网站,工控界面等等。主要特点是制作简单,通用性比较大,涉及的领域多,制作出的东西效果都可以做到非常精致。缺点在于有些效果需要别的软件辅助制作等等,不是所有效果都能制作出来。(比如些3d效果,flash就很难制作,只能通过导入的方式或者针并针的方式)


  FLASH有三重意义:1) FLASH英文本意为“闪光”;2)它是全球流行的电脑动画设计软件;3)它代表用上述软件制作的流行于网络的动画作品。Flash是一种交互式矢量多媒体技术,他的前身是Futureplash,早期网上流行的矢量动画插件。后来由于Macromedia公司收购了Future Splash以后便将其改名为 Flash2,到现在最新的flashcs5。现在网上已经有成千上万个Flash站点,著名的如Macromedia专门ShockRave站点,全部采用了Shockwave Flash 和Director。可以说Flash已经渐渐成为交互式质量的标准,未来网页的一大主流。


   Flash 最早期的版本称为Future Splash Animator,当时Future Splash Animator最大的两个用户是微软(Microsoft)和迪斯尼(Disney)。1996年11月,Future Splash Animator卖给了MM(Macromedia.com),同时改名为Flash1.0 。 Macromedia 公司在1997年6月推出了 Flash 2.0 ,1998年5月推出了Flash3.0。但是这些早期版本的Flash所使用的都是Shockwave 播放器。Flash 进入4.0 版以后,原来所使用的 Shockwave 播放器便仅供 Director 使用。Flash 4.0开始有了自己专用的播放器,称为“Flash Player”,但是为了保持向下相容性,Flash仍然沿用了原有的扩展名:.SWF(Shockwave Flash)。 2000年8月Macromedia 推出了Flash5.0 ,它所支持的播放器为 Flash Player 5。

Flash 5.0中的ActionScript已有了长足的进步,并且开始了对XML于Smart Clip(智能影片剪辑)的支持。ActionScript的语法已经开始定位为发展成为一种完整的面向对象的语言,并且遵循ECMAScript的标准,就像javascript那样。2002年3月 Macromedia 推出了Flash MX支持的播放器为 Flash Player 6。Flash 6开始了对外部jpg和MP3调入的支持,同时也增加了更多的内建对象,提供了对HTML文本更精确的控制,并引如SetInterval 超频帧的概念。同时也改进了swf文件的压缩技术。之后Macromedia有相继推出了Flash 8,Flash 9及现在的Flash CS5。相信Flash的软件以后还会在不断的更新,还有ActionScript语言也随着Flash的进步而改变,使其更加完美。

2、Flash相关技术介绍

2.1 什么是Flash动画

动画是将静止的画面变为动态的艺术.实现由静止到动态,主要是靠人眼的视觉残留效应.利用人的这种视觉生理特性可制作出具有高度想象力和表现力的动画影片。动画以人类视觉的原理为基础。 如果快速查看一系列相关的静态图像,那么我们会感觉到这是一个连续的运动。 每一个单独图像称之为帧。帧是动画电影中的单个图像。

动画片中的动画一般也称为"中间画".这是指两张原画的中间过程而言的.动画片动作的流畅、生动,关键要靠"中间画"的完善.一般先由原画设计者绘制出原画,然后动画设计者根据原画规定的动作要求以及帧数绘制中间画.原画设计者与动画设计者必须有良好的配合才能顺利完成动画片的制作。

2.2 ActionScript语言历史简谈

ActionScript语言最早出现在Flash Player4中,是用来进行简单的交互性脚本,并不是很复杂。而在Flash5就出现了ActionScript1,他就具备ECMAScript标准语法格式和语义解释。直到ActionScript2。ActionScript2可以说是ActionScript1的编程包装版。在ActionScript2中已经有良好的类型声明,还把编译与运行时的异常分离出来。

虽然ActionScript2对OOP语言远远谈不上全面,但在FLASHMX 时候,已经深受广大的开发者接受。在2005年,Macromedia引入了flash player 8, 基于ActionScript2中的RIA 开始新的热潮,并改进了外部API之间的flash至游览器。还可以为复杂应用文件上传和下载有很大贡献。Flash Plater 在历史上是最快被采用。为什么呢?因为ActionScript中有AVM1(ActionScript虚拟机1),它增强了Flssh Player 8以前的播放功能。

但是,大型项目接连出现,新的需求不断产生,开发人员已经把AVM1推到极限了。这让人们停住了脚步。

经过人们长期不断的努力,Flash Player 迎来了重大的转折点。就是Flash Player 9 首次引入ActionScript3和新的ActionScript引擎 AVM2.。因为有了这引擎,ActionScript3代码执行的速度最多可以比原来的ActionScript代码快10倍。

还有ActionScript3有一个编译模型,更加有效的内存利用。不过为了考虑到向后兼容,在Flash player 9 中还保留着AVM1,也就是说它有两个虚拟机。AVM1 和 AVM2.

2.2.1 ActionScript 3

ActionScript 3 是针对Flash Player 运行环境的编程语言,允许向程序添加复杂的交互。回放控制和数据显示功能。

2.2.2 ActionScript 3 的优点

这种语言支持类型安全性,使代码维护更轻松。

与其他语言相比,这种语言相当简单,很容易编写。

开发人员可以编写具有高性能的响应性代码。

这种语言向后兼容 ActionScript 2 并向前兼容 ECMAScript for XML(E4X)。

2.3 XML介绍

XML是Extensible Markup Language(可扩展标记语言)的缩写,是一种表示结构化信息的标准方法,因其简单、灵活且易于读取、访问及处理,尤其因为在数据交换和可移植等方面具有优势,已成为事实上的工业标准。它可以使计算机方便地操作各类信息,并且人们可以非常方便地编写和理解这些信息。它让AS3.0于flash连得更加亲密。

XML在网络或者其他领域都被广泛利用,XML已经成为数据格式的事实标准。 有人曾经这样发问过:“如果放弃ActionScript 2,而选择了ActionScript 3。”理由是ActionScript 3对XML近乎完美的支持这是绝对的。

其实XML是一种类似HTML的标记语言,但和HTML关注方向不一样。XML是被设计用来描述数据的。而HTML是用来显示数据的。XML是一个跨平台,于软件,硬件没有关系的,专注于处理信息数据描述饿工具。

2.3.1 XML格式:

现在我们看看XML的格式,其实就像写HTML那样。

<?xml version=”1.0” encoding=”UIF-8”?>

<websites>

<site>

<name>HE WAN KAI</name>

<url>http://baidu.com</url>

</site>

<site>

<name>baidu</name>

<url>http://baidu.com</url>

<site>

</website>


3、为什么要在Flash中添加上AS语言呢?

其实,在FLASH 6 就已经开始有AS语言了,但随着时代的进步。有一段时间AS语言就到达了他的极限,经过奋斗中的开发者,不枉他们的心血,AS3从此诞生了。在有ActionScript 3语言加入之后的Flash中,使得更为流畅。

3.1简单的流星雨

先来看看没有代码的效果:流星雨

没有代码只有一个一个添加上去,多了就会容易出现错误,疲倦。修改的时候也不方便。

制作步骤:

先导入底图,告诉我们现在天黑啦

流星雨当然要有流星啦,现在制作一个流星和星星。

只要再把元件拖到到舞台。设置一个流星滑落的效果就行啦。

就可以出现前面演示的效果了。大家觉得很简单吧。那问个问题,如果我做一百个流星呢?难道我拖一百次?就算让你拖完一百次。别人说还是改50吧,这时候你会崩溃的。


3.2简单的流星雨(AS)

而下面的是加入了ActionScript 3语言的:流星雨AS

先说说下面的例子重要的知识方面:

3.2.1 把库中的元件加载到舞台上:

在AS3中,语法就不同在AS2 and AS1了。

在AS3中,要先定义好一个类,再声明一个实例。

例子:

var mymc:myl = new myl();

addChild(mymc);

mymc.x = 100;

mymc.y = 100;

这样,库中类名为my1的元件就会显示在舞台上坐标为(100,100)的位置上。


3.2.2 AS3的事件侦听机制:

什么是事件呢?当某件事情发生的时候就做些什么事。这个某件事情就是事件。比如:press,当鼠标按下的时候,这就是一个事件。在AS2中,我们有两种方式来实现事件驱动。一种是将代码直接写在元件上(mc或按钮)。比如,在场景中有一个叫mymc的影片剪辑元件,我们在其上点右键,打开动作面板,输入:

on(press){

干点坏事;

}

这样,当我们在mymc元件上按下鼠标时,就会去干点坏事。第二种方法是在帧动作上输入代码:

mymc.onPress = function(){

干点坏事;

}

这样,当我们在mymc元件上按下鼠标时,同样会去干点坏事。

接下来,我们在AS3中来看看:在元件上点右键,打开动作面板,你会看到“无法将动作应用于当前所选内容”。在AS3中无法将代码写在元件上,只能写在帧动作上。而AS3的事件侦听,也有它自已,的格式, AS3在事件侦听格式是:

function 函数名称(事件对象:事件类型):void

{

// 此处是为响应事件而执行的动作。

}

触发事件的对象.addEventListener(事件类型.事件名称, 函数名称);

必须先声明一个函数,将要执行的代码放在其中,然后触发事件的对象用addEventListener去侦听事件,如果事件发生则调用函数。还用上面那个干坏事的例子。打开帧动作面板,输入:

mymc.buttonMode=true;

function bad(event:MouseEvent):void{

trace("干点坏事;");

}

mymc.addEventListener(MouseEvent.CLICK,bad);这样,当我们在mymc元件上按下鼠标时,会再一次去干点坏事。上面代码中的MouseEvent是鼠标事件的意思,CLICK是单击的意思,即在元件上单击就会触发事件。

3.2.3在AS3中改变对象的位置和缩放对象

我们知道,对象在舞台上位置由其x,y轴的坐标来决定。在AS2中有两个属性:_x,和_y,用来指定对象的x,y坐标,这一点在AS3中也是一样的,只是AS3中去掉了下划线,属性名就叫x,y.比如,在AS2中,要将mymc的位置定在(100,100)处,要这样:

mymc._x = 100;

mymc._y = 100;

而在AS3中是这样的:

mymc.x = 100;

mymc.y = 100;

在AS2中对象的大小可以用width,height,_xscale,_yscale四个属性来确定,在AS3中width和height是一样的,不再说它了。AS3用scaleX和scaleY属性取代了_xscale,_yscale属性。同时它们的值也是有区别的。AS2中的,_xscale,_yscale属性值是百分比。而AS3中的scaleX和scaleY值是一分比。一分比?这是我发明的,博士专用名词,嘿嘿。scaleX和scaleY值实际就是放大缩小的倍数。比如,在AS2中 mymc._xscale = 30; 这是将mymc的宽度缩小到原来的30%。

在AS3中 mymc.scalex = 30; 这是将mymc的宽度放大到原来的30倍。要将宽度缩小到30%,就要用

mymc.scale = 0.3;

3.2.4 演示:

那么现在就开始,同样的,先导入底图

这里有点不一样,在元件中链接要输入一个类名,这是在AS代码中从库中取出来的一个桥梁。

在第一个帧输入代码

代码:

var i:Number = 1;

addEventListener(Event.ENTER_FRAME,xx);

function xx(event:Event):void {

var x_mc:star = new star();

addChild(x_mc);

x_mc.x = Math.random()*1000;

x_mc.scaleX = 0.2 + Math.random();

x_mc.scaleY = 0.2 + Math.random();

i++;

if(i>50){

this.removeChildAt(1);

i=50;

}

}

现在就不需要担心上面会出现的效果了,你需要多少颗流星,你只需要把if(i>50)改成你需要的数字就行了。

补充一下:

x_mc.scaleX = 0.2 + Math.random();

x_mc.scaleY = 0.2 + Math.random();

0.2 + Math.random();会产生0.2-1.2间的随机数,这就让流星缩小到20%到放大到120%间,落下来的流星,大小不一,显得更加真实一些。

removeChildAt(n);是删除已加载的显式对象,其中的n是已加载的对象的索引号。从addEventListener(Event.ENTER_FRAME,xx);这一句可以看出,运行一帧,就会从库中加载一颗流星,同时i加,这样当i等于50时,场景中就已有50颗流星了。这个时候我们用this.removeChildAt(1);将最先加载的流星删除。然后将i设为50,到下一帧,i就又大于50了,那么要加载1颗流星,同时又删除了一颗流星,这就达到了一个动态平衡,场景中始终只有50颗流星。要不然,就会流星的数量就越来越多。

从上面的两个例子可以发现,在导入AS3之后,使得FLASH更为简单得实现。

3.3 XML的运用

前面讲到XML是用来存放数据的,下面我简单的做一个相册。

制作思路:flash--àAS类运行---à导入XML里面的数据---à运行相册

首先在Flash中布局好需要的材料:

说了相册,当然要有相片啦。但用了XML就不同了,图片不需要放进FLASH的库里面了,他可以独立出来,方便了使用者对图片的修改。

3.3.1 新建FLASH

我们先创建一个FLASH。布局好相册的形式。

3.3.2 创建 viewer.as 的类

减小在FLASH里面的代码。使得FLASH的安全有一定的保护。也减小FLASH的容量大小。

之后就在第一帧输入ActionScript 代码。他的作用是用来控制输入相册

新建一个类

//-------------------------------------

//-------------------------------------

//初始化部分

var myXML = new XML ();

var myArray = new Array ();

//初始化参数设置

var smallPicWidth = 50;

var smallPicHeight = 50;

var bigPicWidth = 610;

var bigPicHeight = 440;

myXML.ignoreWhite = true;

//初始化函数设置

myXML.onLoad = function (ok)

{

if (ok)

{

_global.scrollSpeed = myXML.firstChild.attributes.scrollSpeed;

albumText = myXML.firstChild.attributes.albumText;

_global.gap = myXML.firstChild.attributes.gap;

praseXML ();

}

}

//函数设置

function praseXML ()

{

for (var i = 0; i < myXML.firstChild.childNodes.length; i ++)

{

var tempObj = myXML.firstChild.childNodes [i].attributes;

myArray.push (

{

linkURL : tempObj.linkURL,

imgURL : tempObj.imgURL,

imgText : tempObj.imgText

})

}

drawLeft ();

}

//

function drawLeft ()

{

for (var i = 0; i < myArray.length; i ++)

{

var picLoaderTemp = leftBar.createEmptyMovieClip ("picLoader" + i, i + 1);

var picCounterTemp = leftBar.createEmptyMovieClip ("picCounter" + i, i + 10001);

picCounterTemp.id = i;

picLoaderTemp._x = 10;

picLoaderTemp._y = smallPicHeight * i + _global.gap * i + 10;

picLoaderTemp.loadMovie (myArray [i].imgURL);

picCounterTemp.onEnterFrame = function ()

{

var tempName = leftBar ["picLoader" + this.id];

if (tempName._width > 0)

{

var tempScale = Math.min (smallPicWidth / tempName._width, smallPicHeight / tempName._height)

tempName._width = tempScale * tempName._width

tempName._height = tempScale * tempName._height;

tempName.onPress = function ()

{

var tempNum = this._name.slice (9);

textArea.contentText.text = myArray [tempNum].imgText;

drawRight (myArray [tempNum].imgURL);

}

delete this.onEnterFrame;

}

}

}

}

function drawRight (a)

{

picLoader.loadMovie (a);

var picCounter = this.createEmptyMovieClip ("picCounter", 60000);

picCounter.onEnterFrame = function ()

{

if (picLoader._width > 0)

{

var tempScale = Math.min (bigPicWidth / picLoader._width , bigPicHeight / picLoader._height);

picLoader._width = tempScale * picLoader._width;

picLoader._height = tempScale * picLoader._height;

picLoader._x = (bigPicWidth+20 - picLoader._width) / 2 + smallPicWidth+20;

picLoader._y = (bigPicHeight - picLoader._height) / 2+35;

picLoader.onPress = function ()

{

getURL (a, "_blank");

}

delete picCounter.onEnterFrame;

}

}

}

leftBar.onEnterFrame = function ()

{

if (_xmouse < smallPicWidth+20)

{

leftBar._y -= (_ymouse - Stage.height/ 2)/10;

if (leftBar._y > 0)

{

leftBar._y = 0;

} else if (leftBar._y <= Stage.height - leftBar._height-20)

{

leftBar._y = Stage.height - leftBar._height-20;

}

}

}

//开始执行函数

myXML.load ("pics.xml");

3.3.3创建 pics.xml 的类

利用外部来导入图片到FLASH,也可以它只是一种桥接,不过非常的实用,不仅仅是ActionScript ,在C#,Java等语言都被广泛的运用。


<?xml version='1.0' encoding='UTF-8'?>

<data albumText='2advanced壁纸' gap='-5' scrollSpeed='5'>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸1'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸2'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸3'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸4'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸5'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸6'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸1'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸2'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸3'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸4'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸5'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸6'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸1'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸2'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸3'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸4'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸5'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸6'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸1'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸2'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸3'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸4'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸5'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸6'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸1'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸2'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸3'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸4'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸5'/>

<pic linkURL='jpg.jpg' imgURL='jpg.jpg' imgText='壁纸6'/>

</data>

XML它的好处就是让修改者修改起来非常方便,上面的例子,我只要在XML里面修改。就可以对FLASH中的图片进行添加或删除。也加强了安全方便的保护。

总 结

近几年来随着我校的扩招,办学规模不断扩大的前提下,原有的教材管理系统已不再满足需求,。因此,本人结合本校教材管理工作的实际情况开发了此系统。

本系统采用B/S的框架结构,以.NET为开发平台,以C#作为开发语言,以SQL Server作为后台数据库,运用面向对象的设计思想和UML建模知识,按照从需求分析、系统体系结构设计、数据库设计、实现的开发流程完成了教材管理系统的开发和论文的撰写。本系统完成了系统初始化、教材计划管理、订单管理、入库管理、出库管理、统计打印、权限管理等模块,基本能够满足我校教材管理的需求。随着该系统开发的完成,一方面使教材管理人员从繁重、复杂且易出现错误的手工操作中解脱出来,提高工作效率,实现了基于校园网的办公自动化。另一方面也方便了学生通过校园网随时查询所领教材信息,加强了教材管理人员与学生之间的联系,提高了教材管理工作的透明度,更好地实现了人性化管理。

本系统还有一些不足的地方,整个系统的可靠性、健壮性还有待进一步进行测试,系统安全性设计还不够完善,权限分配还没有完成等。另外为了教材录入的方便,条件允许的情况下,可以考虑购买一台条形码读卡器设备实现教材基本信息的智能录入。

教材管理的全部工作都可通过该系统在网络上完成,所有数据实时共享。整个系统实现后功能完善,使用方便,界面友好。系统能够较好地适应了高校教材管理的特点和要求,充分提高了教管理工作质量与效率。同时,也为进一步拓宽学生的知识体系结构、增强学生学习的积极性、主动性和有针对性的培养能力创造条件。


致 谢

最后才写


参考文献

[1] 殿堂之路 《Flash-ActionScript3》.电子工业出版社.2009

[2] 黄冈 于林 主编,《Macromedia Flash MX 标准教程》,北京希望电子出版社。本版号:ISBN 7—900118—41—1 . 2004,6:67~67

[3] 胡一梅,胡海涛,常会侠.中文版Flash MX动画电影梦工场.北京:北京希望电子出版社,2003:405~425.

[4] 网冠科技.Flash MX 小游戏时尚制作百例.北京:机械工业出版社,2002:234~343.

[5] 莫志雄,能伟建.Flash MX 网上动画编程指南.北京:北京希望电子出版社,2003:102~290.

[6] Sham Bhangal Igor Chromanski. Flash Game Design Collection.Beijing: Tsinghua University Press,2002:202~242.

[7] 黄汗兵 主编,《Show good 创作宝典之FLASH MX教学课件与互动游戏》,人民邮电出版社。本版号:ISBN 7—115—10741—3120. 2005,18(2):50~50

[8] 《FLASH MX实例创作教学宝典》,金版电子出版公司

[9] 《XML技术在AS3.0语言编程中的应用探究》

[10] 《Flash ActionSpript 高级编程艺术》