多媒体技术项目制作实例剖析
2016-10-18陈冬梅
陈冬梅
""摘要:主要剖析了学生多媒体作品“广州潮流美食”项目的设计思想、流程以及制作的过程,提出了项目制作中的重难点,最后总结出一些技巧并提出有待改进之处。
关键词:多媒体;Authorware;程序;flash;交互性
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2016)21-0174-02
1 概述
多媒体技术主要指多媒体计算机技术,是指用计算机综合处理和控制文字、图像、音频和视频等多媒体信息,使多种信息建立起逻辑链接,集成为一个系统并具有交互作用,在信息时代高速发展的今天,多媒体技术也大步伐地走进了我们的生活。
制作“广州潮流美食”项目的目的是为广大食客介绍广州美食,为他们提供美食信息,第一时间找到相关信息,有所选择地去品尝广州各区美食,同时了解广州美食文化。
2 项目介绍及整体构思
2.1 项目简介
本项目是一个介绍广州各区美食而制作的,也有商业因素,正所谓有求必有供,广大的食客们需要食物方面的信息,谁提供呢?主要是饭店、酒楼和茶楼,这些饮食业部门在提供了信息的同时,也给自己卖了广告,一举两得!作者围绕广州潮流美食这一主题将找到的信息过滤、设计界面,排版,方便读者阅读,将程序的内容更人性化,优化了系统模块流程,让程序运行得更加畅顺!最后将这些内容都集成到多媒体光盘中。
2.2 整体构思
根据制作项目的特点,制作工具选择了Authorware作为多媒体集成工具,使用其他软件处理素材,演示窗口的大小使用800X600像素。通过对素材整理,整体流程框架如图1所示:
3 技术文档规范
技术文档非常重要,按照技术文档来做项目,不仅工作效率高,而且做出来的东西要规范得多,修改也容易。严格按照技术文档来做的话,那么不管有多少人共同完成项目,不管项目有多大,完成后都会非常统一。就算独立完成项目,由于项目中文档及使用的变量较多,为了避免在设计过程中混淆,在前期的工作准备之下,也简单地撰写了一份技术文档。
1)技术文档中对于媒体格式的规定
在技术文档中将各类媒体的格式或者压缩规定好,以便于在素材采集和处理时做到媒体格式统一和视觉、听觉效果的统一。如文字的编辑标准:统一采用系统字体以减少程序的数据量,加快程序的运行速度。
2)对于图标名称和变量名称的规定
图标名称和变量名称同样非常重要,如果随意命名会导致重复和混乱,如果模块多的话,一旦变量和图标名称重复,就会导致很严重的错误。所以要严格规定图标和变量的命名规则,这样不仅减少了程序错误,还使以后修改和阅读程序非常容易。在本项目中定义的变量名说明参考如表1所示:
4 关键技术剖析
4.1 Authorware编程关键技术
1)使用外部函数屏蔽桌面内容
为了优化程序播放界面,作者下载了一个外部函数Cover,用来在程序运行时屏蔽桌面的内容,让程序的界面更加大方素雅。退出时在计算图标输入以下语句:
Uncover()
Quit()
2)控制演示窗口大小和位置
在整体设计项目时,都要先定义演示窗口的大小,用函数设置演示窗口大小前,先要将演示窗口大小设置为可改变的,将菜单栏等去掉,留下标题栏和屏幕居中,这样当打包运行时演示窗口就会位于屏幕的中央,并且可以通过函数改变其大小,在计算图标内输入以下语句:
ResizeWindow(800,600)
说明:ResizeWindow重新设定当前窗口,使之和指定的width(800),height(600)参数相符合,设置的窗口大小为800X600像素。
3)利用判断图标制作片头动画
在片头动画设计中,使用了Authorware的移动图标和判断图标实现,移动图标控制界面上方和下方图片来回移动,而判断图标的作用是设置界面上下方图片按顺序播放移动图标的内容,由变量r的值来控制程序跳出判断图标(r初始值为0),当r的值为1时,进入主程序界面落不明。
控制变量r的值有两种方法,第一种方法是在判断图标里最后放一个计算图标,输入语句r:=1,因为设置了顺序播放,所以这种方法是要等片头动画全部执行完毕后才会执行该语句;第二种方法是如果大家很快就看完了片头的内容, 可以不用等片头动画播放直到执行图标r:=1的图标才能进入主界面,作者在顺序播放判断图标下面的每个群组内有一交互图标都添加了一个热区域按钮,在群组图标下的交互式图标中放一个计算图标,输入GoTo(IconID@"定义窗口大小")语句,单击热区域即程序会跳到“定义窗口大小”的计算图标并执行图标内容,就可以进入主程序界面了。
4.2 对程序文件进行“瘦身”
多媒体软件,集成了大量的真彩图像、三维动画及高音质的声音,因此一般多媒体软件的“身子骨”都是比较庞大的,给我们带来了一些不便,一方面,程序容量太大给程序的分发、传递带来极大的不便;另一方面,日积月累,电脑中有限的硬盘空间很快就被海量的声音、图形图像以及动画影像文件吃光了;再者多媒体文件大了之后在调用多媒体文件时会发出声音和图像不同步现象,严重影响演示效果,那么我们能不能给这些软件“减肥”,在不影响它们功能的前提下,尽量做小一些,这样不仅会降低对系统的要求,程序在运行时也会畅顺许多,如何保持程序多媒体的优点,同时又尽量节约硬盘空间,确实是个急需解决的问题,本项目中主要从以下几个方面为程序文件“瘦身”的:
1)声音文件
压缩成MP3文件,使用变量调用要播放的音乐。将CD或WAV的声音文件用MP3 压缩工具转换成MP3格式的文件,利用函数和变量随机调用已经压宿好的音乐文件,让其随机播放音乐,其实现的语句如下:
摘要:Flash是非常流行的一款多媒体矢量动画软件,在互联网、多媒体课件制作以及游戏软件制作领域有广泛的应用,ActionScript作为Flash的脚本语言,在动画中应用脚本语言,可以制作出交互性强、动画效果更加丰富的Flash动画。目前,Flash软件的最新版本是cs6,对应的脚本语言是AS3,但现在很多Flash动画制作教材中,关于Flash的脚本语言应用的内容仍然是AS2,该文结合多年的Flash动画制作教学体会,总结利用AS3进行脚本语言应用的教学探讨。
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)21-0162-02
1 Flash软件及ActionScript的发展
Flash软件常用版本经历了Flash 5、Flash mx(6)、Flash mx2004、Flash 8.0、Flash cs3、Flash cs4、Flash cs5、Flash cs6。flash的脚本发展,从最初发展到现在经历了三个过程,Actionscript1.0,Actionscript2.0到现在的Actionscript3.0,flash8.0之前的版本都使用的是as2.0以前的脚本,早期的flash 3中采用的是ActionScript 1.0,最简单、最灵活、比较容易理解,这种状况一直保持到flash 5,在flash mx (即flash 6)版本中得到的增强;Flash MX2004 (即Flash 7)引入了ActionScript 2.0,ActionScript 2.0则相对比较规范,是1.0的升级版。首次将OOP(Object Oriented Programming,面向对象的程序设计)引入Flash。它带来了两大改进:变量的类型检测和新的class类语法。ActionScript 2.0的变量类型会在编译时执行强制类型检测;从 flash CS3(即flash 9) 开始升级为ActionScript 3.0,更加系统、规范和完善的OOP。ActionScript 3不光有一个带有新的版本号的ActionScirpt 语言,还有一个全新的虚拟机。ActionScript 1.0和ActionScript 2.0都使用是AVM1(ActionScript 虚拟机1),因此它们在需要回放时本质上是一样的,在ActionScript2上它增加了强制变量类型和新的类语法,它实际上在最终编译时变成了ActionScript 1,而ActionScript 3.0运行在AVM2上,一种新的专门针对ActionScirpt 3代码的虚拟机。在编译阶段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虚拟机采用了OOP思想,在执行速度上比起avm1也快了10倍,还提供了异常处理。同时使用AS2时,一旦出错,AVM1选择的是静默失败,让人根本不知道什么地方出错了,会浪费大量的时间去查错,而AVM2与目前主流的编译器一样,会有异常处理,运行出错会输出错误提示,工作效率大大提高。
2 AS3与AS2的主要区别
新建一个flash文档时,会有新建文档提示,我们可以选择建立as3文档或as2文档。
在ActionScript2.0(AS2)文档中,代码可以写在三个地方,1)写在帧上;2)写在影片剪辑上;3)写在按钮上。
在ActionScript3.0(AS3)文档中,代码只能写在帧中,不像AS2那么随意,如果控制按钮或影片剪辑,那就只能靠实例名来控制了。其实这也是为了规范,和其他编程软件一样,要控制哪个组件,你就得有这个组件的名字。
AS3中带下划线的变量不需要下划线了,如_x, _y,变为x,y,其他的如_root、_visible、_width、_height 等都是直接去掉下划线;_xscale 变为 scaleX, _yscale 变为 scaleY,
scale 值的表示方式改变:
AS2 _xscale = 200 表示 200%
AS3 scaleX = 2 表示 200%
3 ActionScript3.0文档应用例子
3.1 动画播放停止的脚本
创建一个ActionScript3.0动画,新建一个按钮图层,并拖入两个按钮,给单击实现停止的按钮实例命名为an1, 给单击实现播放的按钮实例命名为an2,为实现动画测试时停止在第一帧,单击播放和停止按钮实现控制动画,可新建as图层,并在as图层第一帧写入如下脚本:
stop();
an1.addEventListener(MouseEvent.CLICK,a1);
function a1(e:MouseEvent) {
stop();
}
an2.addEventListener(MouseEvent.CLICK,a2)
function a2(e:MouseEvent) {
play();
}
3.2 带有影片剪辑元件动画播放停止的实现脚本
如果动画中应用有影片剪辑元件,会看到开始测试,影片剪辑元件是播放的,单击停止按钮,影片剪辑元件不起作用,可以作以下改动实现,在属性面板给影片剪辑实例命名ypjj,脚本更改为:
stop();
ypjj.stop();
an1.addEventListener(MouseEvent.CLICK,a1);
function a1(e:MouseEvent) {