Authorware是什么?

冰箱除冰2023-02-17  20

authorware是一种面向对象的,基于设计图标并以流程线逻辑编辑为主导、以函数变量为辅助、以动态链接库等为扩展机制的易学易用的多媒体创作工具软件。

Authorware被用于创建互动的程序,其中整合了声音、文本、图形、简单动画,以及数字电影等。

用Authorware创建的多媒体应用程序已经广泛用于教学和商业领域。

authorware通常用来课件制作,在课件制作软件中除了Authorware,还有Powerpoint、Flash都是优秀的课件制作工具。

authorware中文版:http://www.ddooo.com/softdown/19181.htm

当你调用JumpOutReturn()函数打开外部文件,authorware本身并没有停下来,而是沿"线"继续运行。如何才能使authorware在播放外部文件的时候,暂停下来呢?也许你会用等待图标,或一个交互按钮,但有时这样满足不了要求。例如,依次连续播放几个外部文件(当然这些文件在authorware本身是不能播放的),当一个文件播完后,返回authorware,另一个文件自动打开播放或向下执行其他内容。

解决的方法是,调用WinAPI。WinAPI有一个GetActiveWindow()函数,用来返回当前活动窗口的句柄(handle)。比较使用JumpOutReturn()前后当前活动窗口句柄,即可判断外部文件是否播放完毕,authorware是否是当前窗口,再采取相应操作。

以下介绍这个问题在authorware各个版本中解决方法。

authorware4.0或4.0以后版本

1.载入GetActiveWindow()函数:此函数在winapi.u32中,winapi.u32位于authorware程序目录下.在载入winapi.u32过程中,只选择GetActiveWindow()函数即可,其余不需载入authorware.

2.在JumpOutReturn()函数前,加入一个变量oldhandle:=GetActiveWindow(), oldhandle初始值可以不设定.

3.添加一个等待图标,位于JumpOutReturn()所在计算图标后,无按钮,无响应,仅设定等待1秒.

4.在等待图标后添加一个判断图标(dicision icon),附一个计算图标于此判断图标,设定判断图标为Sequential-Repeat Until True.

5.在Repeat Until True Field中输入: handle=oldhandle

6.当新参数窗口出现时,点击确定,不需输入初始值.

7.在附着计算图标中,输入:handle:=GetActiveWindow()

例子如下:

以上例子实现的功能是:调用外部播放器scplayer.exe来依次播放文件auto1.scm和auto2.scm. JumpOutReturn()函数参数参考如下:JumpOutReturn(FileLocation^".\\scrncam\\scplayer.exe" ,FileLocation^ ".\\lotus\\auto1.scm /s/h/c ").当auto1.scm文件播放完毕后,播放窗口关闭,回到authorware,又一个JunmOutReturn()跳到auto2.scm文件......

对于authorware4.0以下版本,装载GetActiveWindow()函数的过程有点不同.装载GetActiveWindow(),要选择user.exe,user.exe文件位于\window\system目录下,在出现的DLL对话框中,有以下几项需要填写,且大小 匦胝�?(a).function name field: GetActiveWindow (b).Arguments field: VOID (c).Return field: WORD.点击"Load",GetActiveWindow()函数已被提取.其余步骤同上.

目前出现的问题是,当外部文件没有播放完毕时,人工干预使authorware成为当前活动窗口,此时,程序向下继续执行。如果此时再次打开一个外部文件,将会出现两个外部文件窗口,这是我们不想看到的。仔细看一下JunmOutReturn()函数会发现,其还有一个可选参数:creator type,具体怎么指定,我没查到。authorware能否指定窗口打开外部程序呢?在此提出,共同探讨。


转载请注明原文地址:https://juke.outofmemory.cn/read/2973647.html

最新回复(0)