首页 > 网站 > 媒体动画 > 正文

Authorware综合技巧:AUTHORWARE地扩展与设计---之调用VB屏幕保护

2024-09-08 19:24:56
字体:
来源:转载
供稿:网友

[前言]  authorware是专业的多媒体制作利器,但是,它也有许多先天的不足,其中之一就是原创性太少,大多数的素材需要借助其它软件的前期处理。有点厌倦了频繁地调用,就想折腾点名堂出来。想到“它山之石可以攻玉”的古训,所以,参考其它编程语言,开始了一系列移花接木(包括屏保、进度条、鼠标跟随等)。

 

[思路来源]  vb中有许多梦幻色彩的屏幕保护程序,如雨、雪、星空、变幻线等。他们个头不大,载入时间很短,完全可以由authorware直接调用。如果谁想在authorware中开发这样的屏幕保护,那就先做好熬三天三夜的思想准备吧!

 

[实现步骤]

    包括三个部分:1、在authorware中制作屏幕保护程序框架;2、在vb中制作屏幕保护内容;3、整合。

<一>  authorware中的屏幕保护框架

      可以参考authorware自带的show me程序----“ssaver.a6p”。

      说明一下屏保变量和函数:timeoutlimit、timeoutgoto()。前者设置屏保等待时间,后者实时记录流逝时间,时间一到就进入屏保模块。两者必须配合使用,缺一不可!

  1、 加入计算图标“3--限时”,程序如下:

--------本程序设置等待时间,可以通过改动该计算图标名称前的数字改动等待时间

--------并记录流逝时间

timeout:=getnumber(1,icontitle)

timeoutlimit:=timeout

timeoutgoto(iconid@"屏保")

  2、 加入交互图标“控制”,.下挂一个计算图标“屏保”,设为热区交互,大小位置均设置为0(无需真正的热区交互,只是提供了一个入口)。

    (1)  计算图标“屏保”内的程序如下:

--------跳转调用外部vb屏保程序

jumpoutreturn("scrsaver.exe")

 

--------1 在ssaver.a6p中,屏保模块出口还有一个“reset”计算图标,

--------  它使程序从屏保中退出后,重新调用:

--------          timeoutlimit:=timeout

--------          timeoutgoto(iconid@"屏保")

--------  从而再次激活屏保,程序在静静地等待下一次的被唤醒。

--------2 这在该演示程序中是合理的(内部跳转)。但是对于本程序却不仅不适用,反而是致命的:

--------  因为调用外部程序后,尽管主程序在后台,却并没有停止过运行。那么,频繁调用上述程序

--------  的直接结果就是外部屏保程序的不断运行,可想而知,系统终将不堪承受而崩溃!!!

 

--------3 所以,针对本程序,不能在进入屏保后还执行那两个“难兄难弟” 变量和函数。

--------4 另外,重新回到主程序后,应当再次激活屏保。可能大家立刻就会想到用api函数来获取

--------  当前窗口句柄。我当时也这样费了好大一番周折。可是,最后程序中,只要你“click”

--------  一下主程序屏幕,一切就“ok”了,怎么样,够简单吧!

--------  要知秘诀,请继续向下看。

    (2)  加入一个计算图标在计算图标“屏保”右侧,永久条件交互:mousedown。

           程序如下:

timeoutlimit:=timeout

timeoutgoto(iconid@"屏保")

--------这下明白了吧,点击屏幕后,再次执行那两个“难兄难弟” 变量和函数,

--------从而激活了屏保,静静地等待下一次的被唤醒。

 

3、 加入一个框架结构,作为主程序。作为演示,笔者在入口设置了一个退出按钮和三个导航按钮,导航方向为框架结构下的三个组图标。实际应用中,可以在这些组图标中添加主程序。第一个空组图标只是为了防止程序立刻进入第一个分支,这种办法经常用到。

 

4、 其它细节请参考源程序(下载)

 

<二>  vb中的屏幕保护程序

    引用自网络,作者佚名,笔者二次加工。

    程序包含一个form、一个picturebox、一个label、两个timer。

    程序效果是满天彩球拖着尾巴向下坠落,左上角是本工作室的信息在移动。

    1、 程序略(感兴趣的朋友可以与我联系);

    2、编译成exe文件“scrsaver.exe”。

 

<三>  整合

    将“scrsaver.exe”放置在authorware的屏保程序的同级目录下。

 

 

[执行效果]

    在authorware中执行程序后,.等待3秒钟,进入屏保,为满天彩球拖着尾巴向下坠落,左上角是本工作室的信息在移动。

    移动或点击鼠标可退出屏保并返回authorware程序,点击屏幕可以再次激活屏幕保护。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表