|
QuickTime VR(QTVR)文件制作完成后,只有将它在应用程序中播放,并根据相应的交互信息灵活地使用QTVR的各种属性和方法,才能充分发挥它的技术优势,真正实现整个系统的功能设计。Authorware提供的功能可完善地实现对QTVR文件的灵活运用,因此用Authorware开发运用QTVR文件的应用程序是一个很好的选择。
在用Authorware开发相应的应用程序时,通常需要解决检测系统是否安装QuickTime播放器、设置搜索QTVR文件的路径、根据用户的交互实时获取QTVR影视中的节点信息或热区信息等技术问题,从而才可进一步设计与这些QTVR中的信息相关的其他功能,完成应用程序的开发。本文将详细讨论在Authorware中实现上述功能的具体方法。
一、 检测QuickTime播放器
QuickTime 3或以上版本的播放器(解码器)才支持QTVR,因此在播放QTVR文件的系统中(如Windows)必须安装QuickTime
3或以上版本播放器,目前最新版本是QuickTime 5。运用QTVR文件的应用程序必须检测系统中是否安装QuickTime 3或以上版本的播放器,并应给用户提供相应的提示信息。程序流程见图1所示。具体的设计方法是:

图1
1. 变换光标并显示相应的提示信息
拖一个计算图标到程序流程线的起始处并命名为set cursort=5。在其中输入:
SetCursor(5)
见图2所示。这是在检测QuickTime之前将光标形式变换沙漏形光标,使用户明确可能有一个短暂的停顿。

图2
拖一个显示图标到计算图标之后,命名为instruction。在其中输入所要显示的提示信息。这是提示用户正在检测QuickTime。
2. 建立检测QuickTime的交互结构
拖一个交互图标到显示图标之后,命名为detect QT。分别拖3个组图标到此交互图标的右边,形成2个条件响应分支和1个按钮响应分支。2个条件响应分支的匹配条件分别是QuickTimeVersion()<3和QuickTimeVersion()>=3。这两个分支的属性设置见图3和图4所示。QuickTimeVersion是Xtra
QuickTimeSupport类的系统函数,它返回系统中已安装的QuickTime播放器的版本号。当版本号<3时,系统不支持播放QTVR文件;当版本号>=3时,系统支持播放QTVR文件。最后的按钮响应分支命名为exit,这是为正常退出程序而设计的,将其属性中的Scope选为Perpetual并在分支中设计一个含Quit()函数的计算图标即可。

图3

图4
3. 显示系统中未装QuickTime时的提示信息
由于在系统中未安装QuickTime播放器时,QTVR文件是不能被播放的,所以这时的提示信息对用户非常重要。在QuickTimeVersion()<3分支上的组图标中设计如图5所示的程序流程。其中擦除图标的作用是擦除程序开始时的提示信息。计算图标的作用是将光标形式转变为原先的箭头光标,其中的语句是:SetCursor(0)。显示图标warning的作用是告知用户系统中未安装QuickTime
3或以上版本的播放器,此时系统不支持播放QTVR文件。

图5
二、 正确设置对QTVR文件的搜索路径
由于在Authorware中播放QTVR文件的功能是由QuickTime Xtra实现的,而相应执行QuickTime Xtra的Sprite图标在打开QTVR文件时仅记录其绝对路径。因此必须正确设置对QTVR文件的搜索路径,否则当QTVR文件的绝对路径发生改变时,即使将QTVR文件置于Auhtorware的外部文件默认搜索路径下,也无法正确播放它。设置对QTVR文件的搜索路径和执行播放的有关程序流程见图6所示。具体设计方法是:

图6
1. 插入播放QTVR文件的Sprite图标
打开分支QuickTimeVersion()>=3上的组图标后,点击菜单Insert>Media>QuickTime,在此层流程线上插入一个Sprite图标。此时打开QuickTime
Xtra属性设置对话框,选中Options(选项)中的Show Controller(显示控制条)复选框,见图7所示。点击Browse按钮,打开所需播放的QTVR文件。此例是Roman-Coliseum.mov,这是一个QTVR多节点景象文件。关闭对话框,将此Sprite图标命名为VR。

图7
若需调整QTVR的视频窗口位置,可双击打开Sprite图标,用鼠标拖动QTVR视频窗口到所需位置即可。
为此Sprite图标添加一个附加计算功能,在其中输入Movable:=FALSE,这是为了避免在调试程序时移动了QTVR的视频窗口。
2. 设置对QTVR文件的搜索路径
拖一个计算图标到Sprite图标VR之前,命名为set path。在此图标中输入:
SetIconProperty(IconID@"VR",#filename,FileLocation^"Roman-Coliseum.mov"),见图8所示。这是使用设置图标属性的系统函数设置QTVR文件的搜索路径,此例是将搜索路径指定为应用程序所在的路径,所以应将QTVR文件置于打包后的应用程序所在的同一文件夹中。

图8
由于此计算图标中的语句需使用Sprite图标的标题,所以应先设计Sprite图标的内容,然后再设计此计算图标。
3. 完善对用户的提示功能
在Sprite图标VR之后,设计一个擦除图标,用于擦除程序开始时的提示信息。
在擦除图标之后,设计一个计算图标,在其中输入:
SetCursor(0)
这是将光标形式恢复为箭头光标。
三、 实时获取QTVR文件中的当前节点信息
当用户在QTVR窗口中不断地通过交互在其中各节点间进行浏览时,应用程序需要实时地获取QTVR文件当前的节点信息(例如节点号,这是在制作QTVR多节点景象文件时加入的信息),并根据这些信息控制程序的流程。这样就可以跟随用户对QTVR文件的任意浏览,实现应用程序对应于QTVR文件中各个节点所应具有的功能。反之,若应用程序无法获得QTVR文件的当前节点信息,则不能实现对用户浏览的跟踪。获取当前节点信息的流程图可参考图6,具体设计步骤是:
1. 激活QTVR事件触发机制
拖一个计算图标到计算图标set cursor=0之后,命名为Enable Triggering。在其中输入:
SetSpriteProperty(IconID@"VR",#VRTriggerCallBack,#trigger),见图9所示。 这是采用设置Sprite图标属性的方法激活QTVR事件触发机制,使用户通过交互改变节点的事件可以向应用程序发送消息。
[1] [2] 下一页
|