多媒体制作软件:Director介绍

发布时间: 访问量:64

使用 Director 可以创建包含高品质图像、数字视频、音频、动画、三维模型、文本、超文本以及 Flash 文件的多媒体程序。如果你在寻找一种可以开发多媒体演示程序,单人或多人游戏,画图程序,幻灯片,平面或三维的演示空间的工具的话,那么, Director 就是你所要找的工具。与其他的创作工具相比, Director 更加专业、功能更加强大:
1 界面方面易用
  Director 提供了专业的编辑环境,高级的调试工具,以及方便好用的属性面板,使得 Director 的操作简单方便,大大提高了开发的效率。
2 支持多种媒体类型
  Director 支持广泛的媒体类型,包括多种图形格式以及 QuickTime 、 AVI 、 MP3 、 WAV 、 AIFF 、高级图像合成、动画、同步和声音播放效果等 40 多种媒体类型。
3 功能强的脚本工具
  新用户可以通过拖放预设的 behavior 完成脚本的制作,而资深的用户可以通过 Lingo 制作出更炫的效果。 Lingo 是 Director 中的面向对象的语言,很多朋友认为 Director 难学就在于 Lingo 的使用很复杂。其实,这恰恰是 Director 的优势所在。通过 Lingo ,你可以实现一些常规方法无法实现的功能,可以无限自由地进行创作。 Lingo 能帮助添加强大的交互、数据跟踪及二维和三维动画、行为及效果。如果用户使用过 JavaScript 或 Visual Basic 的话,就会发现学习 Lingo 语法非常容易。
4 独有的三维空间
  利用 Director 独有的 Shockwave 3D 引擎,可以轻松的创建互动的三维空间,制作交互的三维游戏,提供引人入胜的用户体验,让你的网站或作品更具吸引力。
5 创建方便可用的程序
  Director 可以创建方便使用的软件,特别是伤残人士。利用 Director 可以实现键盘导航功能和语音朗读功能,无须使用专门的朗读软件。
6 作品可运行于多种环境
  只需一次性创作,就可将 Director 作品运行于多种环境之下。你可以发布在 CD , DVD 上,也可以以 Shockwave 的形式发布在网络平台上。同时, Director 支持多操作系统,包括 Windows 和 Mac OS X 。无论用户使用什么样的系统平台,都可以方便的浏览 Director 作品。
7 可扩展性强
  Director 采用了 Xtra 体系结构,因而消除了其它多媒体开发工具的限制。使用 Director 的扩展功能,可以为 Director 添加无限的自定义特性和功能。例如,可以在 Director 内部访问和控制其它的应用程序。目前有众多的第三方公司为 Director 开发出各种功能各异的插件。
8 优秀的内存管理能力
  Director 出色的内存管理能力,使得它能够快速处理长为几分钟或几小时的视频文件,为最终用户提供流畅的播放速度。
director应用技巧
  
1、设置movie,使之自动缩放以适应屏幕大小

  
  A:使用如下script:
  on preparemovie
  (the stage).rect=(the desktoprectlist).[1]
  (the stage).drawrect=(the desktoprectlist).[1]
  end
  
2、制作带阴影效果的text

   field可以作出阴影效果,但在field中应用中文容易死机,我们可以用一个text member但多个sprite,各sprite位置稍稍错开,并适当设置其blend即可。灵活使用之可以得到动态的和彩色的阴影。缺点是数量过多会拖累速度。
  
3、中文菜单

   可以用installmenu的标准方法生成中文菜单,但字体、字号设置全部无效。
  
4、filmloop播放问题:

  在一帧内判断一个filmloop播放完毕,再继续播放下一帧。
  frame script中含有以下代码,以实现‘‘定格\\‘‘:
  on exitframe me
  go the frame
  end
  再把以下behavior拖到filmloop sprite即可:
  on exitframe me
  --但用prepareframe不行?!
  tell sprite(me.spriteNum)
  if the frame = the lastframe then
  ploopcnt = 1
  end if
  end tell
  if ploopcnt then
  go next --或改为其它命令
  end if
  end
  
5、对filmloop的控制。

   以下behavior的功能是用于一个filmloop sprite,点击暂停,再次点击则继续。
  property ppause,pframe
  on beginsprite me
  ppause=false
  pframe=1
  end
  on mouseup me
  ppause=not ppause
  if ppause then
  tell sprite(me.spriteNum) to pframe=the frame
  end if
  end
  on exitframe me
  if ppause then
  if pframe=1 then
  tell sprite(me.spriteNum) to go to the lastframe
  else
  tell sprite(me.spriteNum) to go to pframe-1
  end if
  end if
  end
  由此我们也可以知道,我们无法使filmloop的播放速度快于movie,但可以用上法的变通来减慢它。
  补充说明:tell sprite...用法类似tell window,但尚未见于正式文档,我使用至今,尚未见其出错。
  
6、主要用于触摸屏等无人值守的情况等。

   A:无论此时计算机是否有打开的程序或窗口,使用下面的lingo语句可直接关机:(仅限于projector)
  open ‘‘c:\\windows\\rundll.exe user.exe,exitwindows‘‘
  若要重新启动计算机,改为 ‘‘c:\\windows\\rundll.exe user.exe ,exitwindowsexec‘‘
  当然在实际的projector中不能直接用‘‘c:\\windows‘‘,而要用fileio的getosdirectory()等函数先获得系统相应目录。
  
7、在runtime动态地改为Director内置的图标

   最常用和简单的方法是对于一个sprite,施与以下behavior:
  on beginsprite me
  sprite(me.spriteNum).cursor=280 --手形光标
  end
  一般的光标设置以上一句就够了,更具个性化的光标设置这里不谈了。
  内置图标(有些是相同的):0-4 200 254 256-269 271-272 280-281 284-286 290-304
  
8、Lingo支持递归!

   用到搜索算法的朋友们应该高兴吧。
  
9、director中事件发生的顺序

   prepareMovie
  beginsprite for frame 1
  stepFrame for frame 1
  prepareframe for frame 1
  startMovie
  enterFrame for frmae 1
  exitfrmae for frame 1
  beginsprite for next frame
  
10、设置搜索路径的合适位置

  
  A:实际上,在prepareMovie前,所用到的cast及相关的member包括其链接关系都应作好准备。
  所以不可在movie内为自身设置搜索路径。一般在stub player中设置searchpath为佳。



更多文章