[前言] authorware是专业的多媒体制作利器,但是,它也有许多先天的不足,其中之一就是原创性太少,大多数的素材需要借助其它软件的前期处理。有点厌倦了频繁地调用,就想折腾点名堂出来。想到“它山之石可以攻玉”的古训,所以,参考其它编程语言,开始了一系列移花接木(包括屏保、进度条、鼠标跟随等)。
[思路来源] flash中有一种效果--鼠标跟随。.当鼠标移动时,在其后面会留下一串的轨迹,或者是晶莹的宝石,或者是璀璨的星星,等等。比较简单的一种要算是文字跟随了。下面将在authorware中开发这种效果。let's go!
[实现步骤]
使用"coursorx"和"coursory"变量,动态决定了跟随文字与鼠标间相对固定的位置,也就实现了鼠标跟随。可真的这么简单吗?
本教程按照笔者的制作步骤来描述,.所以开始步骤会与最终程序有所不同,不过,有关步骤中有调试修改的详细解说。
<一> 基本功能得实现
1、 加入计算图标“int”,程序如下:
--------取得鼠标位置并赋予变量
xpos:=cursorx
ypos:=cursory
2、 加入交互图标“控制”,下挂一个组图标,设为永久条件交互;
(1)条件交互为:
xpos<>cursorx | ypos<>cursory
从该表达式可知,这个交互在移动鼠标时相应。.那么很显然,这个组图标中就应当放置所要跟随得文字了。
(2)打开这个组图标,在其中加入一个显示图标,输入文字“g”;
(3)加入一个等待图标,设置等待时间为变量“wait time”,其初始值为0.05,取消其它设置;
(4)重复步骤2、3,加入所有文字和等待。本例为工作室名称“g&ldmt”;
现在运行程序,已经可以初步看到鼠标效果了。但是,一旦鼠标停止,跟随得文字就七零八落地散落在轨迹的不同点上(原因是交互失效),只用再次轻移鼠标才能使其回到正确位置。所以,拟增加一个让鼠标停止时也能调整位置的永久交互。
3、在交互图标“控制”下方右侧再增加一个永久条件交互,图标为组图标;
开始,很自然地想到用“true”的恒真交互,但是,永久条件交互的默认模式是“on false to true”,因为始终都是“true”,所以实际上本交互根本就无法发挥作用。如果要改变为“when true”方式,又只能取消永久,致使流程中断,“真叫人为难”。
解决的办法就是增加一个变量,使其能够不断在“false”和“treu”或者“0”和“1”间变动,从而可以响应“on false to true”。
(1)修改新加入的条件交互为:
move=0
“move=0”时代表此时鼠标不动。
(2)打开这个“move=0”组图标,在其中加入一个计算图标“get pos again”:
--------重新取得鼠标位置
xpos := cursorx
ypos := cursory
(3)copy所有用于跟随的文字和等待图标,paste到接下来的流程线上,并成组为“跟随文字”;
(4)在条件交互“xpos<>cursorx | ypos<>cursory”的组图标中,在开头加入计算图标“move:=1”,程序也是:
move:=1
(4)在条件交互“xpos<>cursorx | ypos<>cursory”的组图标中,在结尾加入计算图标“move:=0”,程序也是:
move:=0
这样,进入条件交互“xpos<>cursorx | ypos<>cursory”后,默认move=0就会变为1,出来时又变回为0,实现了“on false to true”的变化。同时因为出来时为0,使鼠标从运动到停止时立刻开始响应“move=0”条件交互,使跟随周而复始,生生不息。
<二> 完善程序
出于系统性和调试方面的考虑,都有必要作个简单的程序框架。
(1)加入一个框架结构,作为主程序;
(2)删除入口处所有图标,设置一个退出按钮和三个导航按钮,导航方向为框架结构下的三个组图标。实际应用中,可以在这些组图标中添加主程序。第一个空组图标只是为了防止程序立刻进入第一个分支,这种办法经常用到。
(3)将上面两个条件交互移动到入口处,.使程序结构更加合理;
(4)调试中发现点击导航按钮进入响应分支后,变量move有时会停止于0或者1,可能原因是点击瞬间需要同时响应两个流向:进入主程序分支和响应条件交互,冲突从而导致响应条件交互的失效。所以,在每个分支的最后又加入一个计算图标“修正move值”,程序为:
----------放置于流程最下面
----------没有这句多次点击按钮后跟随得文字会消失move停滞为0/1
----------本句是改变停滞的 move,重新激活鼠标跟随得条件交互
move:=~move
(3)其它细节请参考源程序。
[执行效果]
在authorware中执行程序后,文字就会跟随戍边到处飘舞,留下美丽的痕迹。
点击主程序的任何交互也不会担心“穿帮”了。
新闻热点
疑难解答