the searchPaths 告诉 director 到那里去找媒体文件。通常我们将媒体文件以一种层次结构方式组织在光盘上,例如 projector 文件放在光盘的根目录下,而声音文件放在 sounds 目录下,视频文件放在 video 目录下。
当 director 加载媒体文件的时候,它会首先查看媒体文件最初的连接地址,如果没有找到该文件,它会接着在电影文件的当前目录下查找该媒体文件,如果还是没有找到,它就遍历 the searchPaths 中的所有路径。the searchPaths 中的每一个项目就是一个路径。
因此解决方法就是在每个 director 电影文件的 movie script 中加入这个 handle
on startMovie
append the searchPaths, the moviePath & \"video\"
append the searchPaths, the moviePath & \"sounds\"
end
the moviePath 返回当前电影文件的路径名,例如如果光盘是 D 盘,电影文件放在光盘的根目录下,那么 the moviePath 就返回 D:\\, the moviePath 和 \"video\" 结合就成了 D:\\video,将合并后的路径通过 append 附加在 the searchPaths 后,director 就知道到什么地方查找该文件了。
问题2:我希望 director 电影文件放在硬盘上(考虑到速度问题),而媒体文件放在光盘上,我该如何作?
解答:
这种做法在国外是很普遍的,因为 director 制作的文件通常都非常庞大,打包后的文件 2-3 兆是很普通的事情,但是放在光盘上运行的确很慢。国内制作的光盘大多数将电影文件放在光盘上,再在光盘的根目录下放一个 autorun.inf ,当用户插入光盘后(通常是噩梦的开始),就进入 director 电影文件的漫长的加载过程。因此国外的这种做法很值得推荐,但是并不是所有人都喜欢这种做法,因为它需要制作一个安装程序将director 电影文件安装到用户的硬盘上,对于用户来说,这种做法不如 autorun 直接。