荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: hellrock (地狱乐队I~地狱之王), 信区: Multimedia
标  题: 在Authorware 5.0中控制移动图标
发信站: BBS 荔园晨风站 (Sun Dec 24 13:40:03 2000), 转信

  Authorware5.0中提供了Motion功能图标,能通过选定移动对象,设定移动路径来
实现图标的移动。但是,当Motion图标执行时,画面的控制权已完全交给了Motion图标
,此时,用户的任何操作都是徒劳。
笔者在实践中发现,通过对所要移动对象的x,y坐标赋值定位,并在交互图标中实时更新
,能够实现图标的移动,并保证用户的控制。
下面就举例来说说具体的操作。
1.导入图片,并设置图标属性
打开Authorware5.0,选File-import导入要移动的图片,命名为reminder1,按住Ctrl
键并双击reminder1图标,出现属性设置对话框,在display区option域的Prevent Auto
matic Erase(避免自动擦除)选项前打钩,注意:一定要选中该项,否则在交互结束时
,图标将自动擦除。然后选layout区,在position下拉列表框中把No Change该为On Sc
reen,这时要求设定x和y值,在initilize的右方的x,y中分别输入自定义变量picx和p
icy(见图1),注意:这两个变量用来在交互时更新赋值;最后,复制reminder1在下方
,命名为reminder2,不用重新设置。
2.建立交互,写入控制语句
在reminder1之前插入一个交互图标,并命名为interaction,再拖入一个caculation图
标,在Response Type对话框中选Time Limit,命名为move reminder。双击move remin
der图标上面的钟,进入属性设置对话框,在Time Limit区的Time Limit文本框中输入0
.01,表示每0.01秒就执行一次,注意选中Option域的Restart for Each Try。然后选R
esponse区,在Active If文本框中输入用来控制闪烁的自定义变量flashing=1,按“确
定”。双击move reminder计算图标,输入:
picx:=picx+1
——每0.01秒,图标的x坐标加1
DisplayIcon(IconID@″reminder1″)
——显示reminder1图标
EraseIcon(IconID@″reminder2″)
——删除reminder2图标 DisplayIcon(IconID@″reminder2″)
——显示reminder2图标
EraseIcon(IconID@″reminder1″)
——删除reminder1图标
if picx>660 then
——若x的坐标移出右侧屏幕时,x重新
picx:=0
——赋值为0,即:重新从 左向右移动
end if
注意:只有当图标重新显示时,坐标值才能更新,所以此处使用了两个相同的图标,相
互替换显示。如果只用一个图标,会出现闪烁,第二句到第四句就是为了实现这种图标
的切换。
图1
接下来,在move reminder图标之后拖入一个caculation图标,双击图标上方,修改该图
标的属性,在Response区的Type(交互类型)列表框中选Conditional。然后选Conditi
onal区,在Condition文本框中输入“Mousedown=1”, Mousedown时系统变量,当鼠标
左键按下时,其值为1,否则为0,接下来,在Automatic列表框中选On False to True项
或When True项。这里设定的是,当鼠标单击时,执行该Caculation图标中的语句。最后
,双击该图标,输入:
clicktime:=clicktime+1
——鼠标单击一次就加上1
if MOD(clicktime,2)=1 then
——当单击为奇次时flashing=0
flashing:=0
——停止move reminder计算图标中语句的执行
else ——当单击为偶次时flashing=1
flashing:=1
——继续move reminder计算图标中语句的执行
end if 3.初始化变量
在流程图的上方拖入一个Caculation图标,命名为initialize,双击打开后输入:
picx:=0 ——初始化被移动图标的x 坐标
picy:=440
——初始化被移动图标的y坐标,因为是左右移动,该值在此例中没有重新赋值
flashing:=1 ——初始化状态为可移动
clicktime:=0 ——鼠标单击次数为0
总流程图见图2。
图2
运行该程序,你会发现reminder图标在屏幕下方自左向右的移动,当你单击屏幕的任何
地方时,图标的移动将会自动停止,再单击,仍继续。
hill摘自 中国计算机报

--
魔岩设计工作室-Rock Studio*[0

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: bbs.stu.edu.cn]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店