首页 > 设计 > 媒体动画 > 正文

Authorware综合技巧:authorware完成鼠标跟随

2020-09-19 18:38:53
字体:
来源:转载
供稿:网友

[前言]  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中执行程序后,文字就会跟随戍边到处飘舞,留下美丽的痕迹。

    点击主程序的任何交互也不会担心“穿帮”了。

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