1、多媒体应用系统技术,计算机科学与技术学院,第11章:交互式多媒体应用系统开发,Director简介,1,Director11的基础操作,2,简单动画的制作,3,行为及其附着,4,脚本和交互,5,声音和数字视频的使用,6,11.1 Director简介,Director 简介 1989年,macromedia公司开发的多媒体制作平台软件 功能 (1)可以集成各种多媒体元素 (2)可以使用xtras插件来增强其制作能力 (3)可以使用脚本语言Lingo或JavaScript来实现交互 (4)可以跨平台发布多媒体产品,11.1 Director简介,工作原理Director 是以拍摄电影的概念来制作
2、多媒体产品的 Director电影是由演员表、剧本和舞台等要素构成 Director用户是导演。 Director电影的创建步骤 组织多媒体元素 编排多媒体元素利用舞台在空间上编排演员的位置等利用剧本在时间上安排演员出场时间等 添加交互(加入脚本和行为) 发布电影,11.1 Director简介,工作环境,11.1 Director简介,工作环境 影片(movie):director工程文件 演员(member):组成电影的元素(各种多媒体元素) 演员表(cast):管理和存放演员 舞台(stage) :演员表演的场所 剧本(score ):用来控制演员的出场时间、顺和行为的。 特效通道:包括
3、标记通道、速率通道、调色板通道、过渡通道、两个声音通道和脚本通道。 精灵通道:可以根据出场顺序依次安排演员,演员的通道数 越小,表示演员在舞台上越靠后,11.1 Director简介,工作环境 属性检查器:对演员、精灵和电影的属性进行查看和设置 代码面板:提供与编程相关的功能 Library(行为库) Behavior Inspector(行为检查器) Object Inspector(对象检查器) 设计面板:提供设计和布局相关的功能 Text Inspector(文本检查器) Align(对齐),11.1 Director简介,电影文件的格式 电影源文件:dir格式 电影的发布格式(1)标准
4、放映机exe格式,内置播放器,可用于光盘发布(2)Shockwave放映机exe格式,没有内置播放器的代码,文件比标准放映机小,使用Shockwave播放器来播放(3)Shockwave电影dcr格式,采用流媒体传输方式,主要用于因特网,不含播放器(4)Protected电影dxr格式,数据未经过压缩,播放效果更为流畅,11.2 Director的基本操作,电影的创建、保存 新建影片 保存影片 【文件】/【保存】:保存为工程文件.dir 【文件】/【发布设置】/【发布】:可选择Exe, osx,dcr,htm等格式保存 【文件】/【导出】:保存为avi视频或者bmp位图系列,11.2 Dire
5、ctor的基本操作,舞台的设置 打开“属性检查器”的”影片”标签,设置舞台大小、颜色,通道数目等。 在“显示模板” 下设置影片播放时在屏幕上的位置 使用菜单【修改】|【影片】|【属性】打开相应面板,11.2 Director的基本操作,演员的创建与导入 演员表的使用 (1)内部演员表:保存在电影文件内,不被共享 (2)外部演员表:以独立文件(.cst)形式存在,保存在电影外, 必须被链接到电影文件中,才能使用 (3) 演员表的显示方式:缩略图和列表 (4)操作: 【修改】|【影片】|【演员表】,11.2 Director的基本操作,演员的创建与导入 演员的创建(1)用Director自带的工具
6、绘制位图、矢量图或编辑文字,也可以使用菜单【窗口】,打开相应编辑工具(2)使用工具面板中的工具直接在舞台上绘制演员的导入演员表中选定空的演员位置,使用【文件】|【导入】命令,选择标准导入方式。或者执行【插入】|【media Element】,11.2 Director的基本操作,剧本的设置 通道的打开和关闭 特效通道的使用 (1)标记通道:定义特殊帧,使用Lingo语言可以在这些特殊帧之间切换。 (2)速率通道:设置播放的速率(帧每秒)、在该帧停留时间、等待用户鼠标或键盘响应、等待标记点 (3)调色板通道:可以选择非系统调色板或自定义调色板。在导入位图时,如果位图调色板与当前调色板不匹配,系统
7、将自动导入该调色板,11.2 Director的基本操作,剧本的设置 (4)过渡通道:设置两帧间的过渡效果。 (5)声音通道:可以直接将演员表中的声音成员拖到声音通道中,哪些帧需要这些声音就把声音拖到那些帧上;也可以双击声音通道从列表中选取,然后在声音通道中拖动或延长。例如:声音拖入声音通道并在速率通道中设置等待标记点。 (6)脚本通道:双击通道中的某一帧,打开脚本窗口,设置当前帧需要执行的脚本,11.2 Director的基本操作,精灵的设置 精灵的公共属性设置执行菜单【编辑】|【属性】|【精灵】,可设置精灵长度(span duration),即精灵在剧本中默认占据的帧数精灵的详细属性设置(
8、属性检查器) (1)精灵的位置(X,Y)和大小(W ,H) (2)墨水效果(ink) (3)混合度(blend,透明度) (4)起始帧和结束帧 (5)背景色和前景色,11.2 Director的基本操作,精灵的设置 设置精灵运动的关键帧操作:剧本中选中帧,执行 【插入】|【关键帧】命令 改变精灵在舞台上的显示层次操作:将精灵从一个通道拖入另一个通道 改变精灵的出场时刻操作操作:直接拖动通道中精灵的帧序列或第一帧 改变精灵占据的帧数操作:拖动起始帧和结束帧 精灵的剪切、复制、粘贴,11.2 Director的基本操作,创建Director电影 例11.1 环保宣传动画动画播放时,舞台上出现环保宣
9、传画,文字“保护环境”从右侧移入,停留2秒后,渐渐淡出。紧接着,文字“人人有责”从右侧移入,停留2秒后,也渐渐淡出。文字循环滚动显示。,10.2 Director在多媒体开发中的应用,主要术语 脚本(script ):Director中的代码被称之为脚本。分为三种: (1)电影脚本:起全局控制的作用,许多初始化动作和结束动作都在电影脚本中完成;行为脚本以及父脚本。 (2)行为脚本:只在某一特殊阶段或事件发生时起作用。 (3)父脚本:本身不产生任何结果,只是用来产生多个子对象,并设置各种参数以便形成各不相同的实例。操作:在属性检查器中可以更改脚本类型在脚本窗口中用Lingo或JavaScript
10、语言编写脚本,11.3 简单动画的制作,简单动画制作 帧并帧动画将动画中的每一个画面都制作为一个演员,然后将这些画面一帧一帧地连接起来播放,产生动画效果关键帧动画制作出关键帧中的画面,关键帧之间的普通帧由Tweening的技术生成,可以创建精灵的路径、大小、旋转、前景色、背景色、混合度以及加速度等变化的动画,11.3 简单动画的制作,简单动画制作 实时录制动画鼠标在舞台上移动时,director记录下鼠标移动的轨迹,并根据需要生成动画效果。操作:【控制】|【实时录制】胶片环动画用来制作动画片段,减少对周期性动作的重复制作操作:【插入】|【胶片环】,11.3 简单动画的制作,例11.2 “狼来啦
11、”动画(关键帧动画),11.4 行为及其附着,行为行为:预先编制好可重复使用的Lingo或Javascript脚本行为库和行为的附着从库中选择行为拖动到在精灵或者脚本通道的帧上。 (1)可以为多个精灵或帧设置同样的行为 (2)可以为一个精灵设置多个行为,行为按顺序执行 (3)只能为一个帧设置一个行为修改行为:参数修改,调整行为的执行顺序,11.5 脚本与交互,脚本类型 演员脚本:对由该演员产生的精灵发生作用。一个演员只能带有一个演员脚本精灵脚本:作用于舞台或者剧本中的精灵。一个精灵可以有多个精灵脚本帧脚本:作用于剧本中特定的帧,一个帧只能有一个帧脚本。可以在脚本通道中编写。电影脚本:控制整部电
12、影的脚本。选择【窗口】|【脚本】,在脚本窗口中编辑。,11.5 脚本与交互,脚本框架结构触发事件脚本是对特定触发事件的响应程序,mouseUP和exitFrame均为事件。常用触发事件见P277表11.5.1,11.5 脚本与交互,用脚本实现导航 导航是指播放头在剧本窗口的不同帧间移动来实现画面的切换 导航命令,11.5 脚本与交互,脚本中的控制语句,11.5 脚本与交互,例11.3 交互式相册,11.5 脚本与交互,右侧导航剪贴脚本 on mouseUp me -当前帧号小于40,继续浏览下一张,否则返回第1张if marker(0)40 then go Marker(1) else go
13、1 Endon mouseenter me -鼠标进入时,箭头增大,鼠标呈手指形状,伴随音效sprite(3).width=sprite(3).width+5sprite(3).height=sprite(3).height+5cursor(280) sound(2).play(member(“yx“) Endon mouseleave me -鼠标离开时,箭头复原,鼠标恢复指针形状sprite(3).width=sprite(3).width-5sprite(3).height=sprite(3).height-5cursor(0) end,11.6 声音和数字视频的使用,声音的使用 声音导
14、入 (1)文件较小时用标准导入的方式嵌入到电影中 (2)如果文件较大,用链接声音的方式导入对声音的控制(1)将声音演员拖动到剧本窗口的声音通道中,再延长其长度到声音完整播放所需的帧数(2)可以不必导入,使用脚本控制播放Sound(1).playfile(“文件名“),11.6 声音和数字视频的使用,例11.4 吉祥物的创意理念(使用脚本控制声音的播放),11.6 声音和数字视频的使用,on mouseUp -播放按钮脚本 sound(1).queue(member(“intro”) me -将声音演员“intro”加入到声音通道1的队列中,等待播放 sound(1).play() -播放声音通
15、道1中的声音 Endon mouseUp me -暂停按钮脚本 sound(1).pause() -暂停播放声音通道1中的声音 endon mouseUp me -结束按钮脚本 sound(1).stop() -结束播放声音通道1中的声音 sound(2).stop() end,11.6 声音和数字视频的使用,数字视频的使用 视频导入视频只能用链接到文件(Link to External File)方式导入,并将视频和电影文件放在同一路径下。视频的控制(1)使用剧本窗口来控制数字视频的播放,需要延长视频精灵占据的帧数,这种方法不实用(2)使用脚本将播放头固定在视频精灵的最后一帧上,这样就可以延
16、续视频的播放,而对视频精灵所占据的实际帧数没有限制,11.6 声音和数字视频的使用,例11.5 制作一个简易视频播放器(使用脚本控制数字视频的播放)要求:启动播放器后,首先显示黑屏,单击“播放”按钮可以观赏视频片段,单击“关闭”按钮又重新显示黑屏。选中“循环”复选框后再单击“播放”按钮,可以循环播放视频,11.6 声音和数字视频的使用,on mouseUp me-视频演员“video”的“loop”属性由“循环”复选框的状态确定member(“video“).loop = member(“loop checkbox“).hilitesprite(2).member=member(“video“
17、)sprite(2).movietime=0 -从视频的起点处开始播放 Endon mouseUp mesprite(2).movieRate=0 -暂停数字视频的播放 Endon mouseUp mesprite(2).movieRate=1 -继续数字视频的播放 end,11.6 声音和数字视频的使用,on mouseUp mesprite(2).member=member(“block”) -关闭数字视频的播放 endon mouseUp memember(“video”).loop = member(“loop checkbox”).hilite -循环复选框操作 end,Thank You !,