仅仅依靠 Authorware 6.0 本身的功能和它所提供的系统函数,来提高 Authorware 多媒体程序的灵活性是不够的。有些时候,用户需要利用其他的开发工具来生成用户自定义函数,用来拓展程序的功能。本章向大家展示的就是有关于这方面的应用。
1 概述
1.1 什么是用户自定义函数
UCD 的全名是 User Code Dll ,是用户自定义函数的缩写。目前任何一种软件都难以满足用户各方面的需要, Windows 的功能实在是太强大了, Authorware 所提供的系统函数不可能将 Windows 下所能实现的功能都包括在内,因为它只是一个基于操作系统的多 媒体开发平台,而且 Authorware 又是定位在非程序员的使用上,本身不必包罗万象。 Windows 的主要优势和特点是共享资源,我们可以直接利用操作系统本身的功能来达到这个目的,因此 Authorware 采用开放式结构( MOA ),提供一个通用的接口标准,给用户留下一个充分发挥能力的 空间,让用户自己编写一些外部函数,以满足特殊功能的需要,从而实现对计算机更深层次、更广泛的控制。
利用 C 语言,程序员可以设计出能够为 Authorware 使用的 DLL 文件,但 Windows 的 DLL 是为专业编程人员创建的,标准的 DLL 格式和调用规则通常需要用户参考程序员的文档和 Windows 的 API(Application Program Interface ,应用程序接口 ) 调用,对非程序员来说建立和使用都不方便。为避开这些, Authorware 支持对于普通 DLL 的透明的扩充,这种方式就是 UCD 。编写 Authorware 中使用的 DLL 的 C 程序员,可以使用 UCD 来自动载入 Authorware 需要的信息, .
包括函数名、参数、返回值的类型、语法模块和联机描述等,以便 Authorware 识别和链接 DLL ,而这些附加的自动载入的信息可以存储在 DLL 中,或分开存储,并且这些信息对于其他程序来说仍是透明的。这样就可以像调用系统函数那样,在 Authorware 的应用程序中调用外部函数,而无须去了解函数文件的底层信息。
我们常用的 UCD 一般有两个文件名相同而后缀名不同的文件,其后缀名分别是 UCD 和 U32 。实际上 UCD 和 U32 是相互对应的,后缀名为 UCD 的文件用在 Windows3.x 这样的 16 位操作系统环境下,而以 U32 为后缀名的文件则适用在 Windows95/98/NT 这样的 32 位操作系统环境下。
1.2 如何调用自定义函数
在使用自定义函数之前,首先要载入这个自定义函数。之所以要加载自定义函数,目的是使 Authorware 能知道存放该函数的地点,从而能够直接从磁盘上读取该函数。当一个自定义函数被加载后,就可以像使用 Authorware 所提供的系统一样来使用自定义函数了。调用自定义函数有两种方法:
( 1 )在计算图标中直接输入使用该函数的语句,在关闭计算图标时 Authorware 会弹出查找相应函数的对话框,通过该对话框来查找对应的 UCD 文件。(在第 9 章中已有介绍)
( 2 )先加载自定义函数,然后在需要时再将自定义函数插入到需要使用的地方(和系统函数一样使用)。
下面主要介绍在 Authorware 应用程序中加载自定义函数的操作步骤:
1 .在 Authorware 中打开函数列表框,选择 Category 项中当前 Authorware 应用程序的程序名,比如 Untitled.a6p ,如图 1 所示。
图 1 Authorware的函数列表框
2 .这时左下角的 Load 按钮变得可以使用了。单击 Load 按钮,弹出选择 UCD 文件对话框,如图 2 所示。
图 2 选择 UCD 文件对话框
在 Authorware 的安装目录下有一些 Authorware 自带的 UCD ,如 winapi.u32 等。在对话框中的“搜寻”列表中找到 Authorware 的安装目录,选中 UCD 文件,如 winapi.u32 。单击“打开”按钮后,会弹出如图 3 所示的对话框,该 UCD 文件包含的用户函数的列表显示在左边的 Name 域。当选中某个函数后,在右边的 Description 域中就会列出相应的使用说明。
图 3 UCD文件包含的用户函数的列表及其使用说明
3 .如 Windows 中的操作一样, .
按住 Shift 键或 Ctrl 键,可以一次选择多个要加载的用户函数。选中所需函数后,单击 Load 按钮,这样就可以将这些用户函数加载到当前的 Authorware 应用程序中,并且可以在函数列表框中看到引入的函数,如图 4 所示。
图 4 引入了外部函数后的函数列表框
4 .这时,加载到函数列表框中的 UCD 函数就像 Authorware 提供的系统函数一样,下方的 Description 域同样也有该函数的使用说明、参数说明等,这些信息就是 Authorware 可以识别的信息。有了这些信息之后,用户就能够在 Authorware 应用程序中“透明”地使用这些函数了。
1.3 在使用 UCD 时要注意的问题
在 Authorware 6.0 程序中使用某个 UCD 文件,最好将该文件拷贝到 Authorware 应用程序所在目录下或拷贝到 Authorware 的安装目录下,然后通过调用自定义函数的方式来使用它们。另外,在发布 Authorware 应用程序时,必须将这些 UCD 函数文件放到该应用程序可以查找到的目录中(比如打包后的 EXE 文件所在目录),同时设置好应用程序的搜索路径。
1.4 在 Authorware 6.0 中使用 DLL
在实际应用中,可以使用 VC , Delphi 等编程工具编写自定义函数。编写完毕并调试之后,将之编译成 DLL (动态链接库)文件以供 Authorware 或其他应用程序调用。和 UCD 不同的是, Authorware 无法自动识别 DLL 文件中的函数信息,必须对调用的 DLL 非常了解。不过,这些需要 Windows 程序员的水平才可以做到。
在 Authorware 中调用 DLL 中函数的步骤如下:
1 .在 Authorware 中打开函数列表框,在 Category 域中选择当前 Authorware 应用程序的文件名,比如 Untitled.a6p ,如图 1 所示。
2 .单击 Load 按钮后,弹出选择源文件对话框,如图 2 所示。选择相应的 DLL 文件,然后单击“打开”按钮。
3 .这时弹出调用 DLL 函数的对话框,要求输入要调用的函数名、 .
参数及返回值类型等,并给出注释,如图 5 所示。
图 5 设置 DLL 中的函数的对话框
4 .在对话框中正确输入之后,单击 Load 按钮就可以将此 DLL 中的指定函数加载到 Authorware 应用程序中使用了。
5 .和 UCD 一样,如果在 Authorware 应用程序中使用了某个 DLL 中的函数,则在发布该 Authorware 程序时,也必须将使用了的 DLL 文件放到能够查找到的目录中。
|