首页 新闻 搜索 短信 分类 聊天 导航
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 网上学园 > 办公专区 > 正文
利用Authorware函数制作旋转移动

http://www.sina.com.cn 2002/03/18 13:48 赛迪网--中国电脑教育报

  文/张绍山

  Authorware5.0提供了Motion运动图标,它可以提供五种运动功能,但要实现像时针这类的旋转移动,Motion运动图标则无能为力,这就要借助Authorware的函数来实现这一类运动,下面以制作时钟为例,这个例子中我们要用到以下几个函数:

  Line(Pensize, x1, y1, x2, y2):画线函数,其中Pensize是线的宽度,x1, y1线的起点坐标,x2, y2线的终点坐标。

  RGB(R, G, B):颜色函数,R(红色)、G(绿色)、B(蓝色)取值范围是0~255。


图1 建立钟表图形

  SetFill(Flag [,Color]):设置填充颜色,Flag为True填充,Flag为 False不填充,Color为RGB函数产生的颜色。

  SetFrame(Flag [, Color]):设置边框颜色,Flag为 True填充,Flag为False不填充,Color为RGB函数产生的颜色。

  SetLine(Type):设置线条的形状,Type 可以取0、1、2、3。取0没有箭头,取1起始端有箭头,取2结束端有箭头,取3两端都有箭头。制作过程如下:

  1、 拖曳一个显示图标到流程线上,命名为表盘,打开此图标在其中绘制图1的图形。

  2、 拖曳一个显示图标到流程线上,命名为系统时间,打开此图标在其中用文本工具输入{FullTime} ( FullTime是系统变量,记录系统时间,格式为hh∶mm∶ss),将该图标属性中Options中的Update Displayed Variables项选中。

  3、 拖曳一个计算图标到流程线上,命名为设置参数。打开该图标在里面输入clockslice:=2*Pi/60 (设置时间片)radius:=(DisplayWidth@"表盘"/2)-10 (设置时钟半径,DisplayWidth@"表盘"取得的值是表盘图标的宽度)。

  4、 拖曳一个决策判断图标到流程线上,命名为循环。在其属性框的Repeat框中选中Until True在其下的值框中输入0。

  5、 拖曳一个群组图标到循环图标右边(如图2),打开群组图标在其中建立如图3所示的各图标。

  在绘制时针计算图标中输入以下内容:

  SetFrame(1,RGB(0,0,255))

  increment:=Hour*clockslice*5

  angle:=Pi/2-increment

  Line(3,DisplayX@"表盘"-p*COS(angle),DisplayY@"表盘"+p*SIN(Pi/2+increment),(radius-sh-h)*COS(angle)

  +DisplayX@"表盘",DisplayY@"表盘"-(radius-sh-h)*SIN(angle))

  注:Hour是系统变量,用来记录当前时间前面的时位是多少小时。

  将1秒等待图标属性中所有复选框全部不选中,将Time Limit后面的输入框中输入1秒。

  在绘制分针计算图标中输入以下内容:

  SetFrame(TRUE,RGB(0,255,200))

  increment:=Minute*clockslice

  angle:=Pi/2-increment

  SetLine(0)

  Line(3,DisplayX@"表盘"-p*COS(angle),DisplayY@"表盘"+p*SIN(angle),(radius-sh)*COS(angle)+


图2 程序流程图

  DisplayX@"表盘",DisplayY@"表盘"-(radius-sh)*SIN(angle))

  SetFill(TRUE,RGB(0,255,0))

  Circle(2, DisplayX@"表盘"-2, DisplayY@"表盘"-2,DisplayX@"表盘"+2, DisplayY@"表盘"+2)

  注:Minute是系统变量,用来记录当前时间中中间的分位是多少分。

  在绘制秒针计算图标中输入以下内容:

  SetFrame(1,RGB(255,0,0))

  increment:=Sec*clockslice

  angle:=Pi/2-increment

  SetLine(2)

  Line(1,DisplayX@"表盘"-p*COS(angle),DisplayY@"表盘"+p*SIN(angle), radius*COS(angle)+DisplayX@"表盘",

  DisplayY@"表盘"-radius*SIN(angle))

  SetFill(TRUE,RGB(0,255,0))

  Circle(1, DisplayX@-2, DisplayY@"表盘"-2,DisplayX@"表盘"+2, DisplayY@"表盘"+2)


图3 在群体图标中建立的图标

  注:Sec是系统变量,用来记录当前时间中后面的秒位是多少秒。

  6、 将文件保存,运行试试看。


  


发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

 相关链接
【学园专题】多媒体设计与制作
跳动的文字 Director中的文字动画(2002/03/07 13:48)
使用Authorware制作课件的疑难问答(2002/03/05 15:16)
使用Authorware巧制课件“开关按钮”(2002/03/04 15:22)
让Authorware课件实现全屏播放(2002/02/19 14:00)
用Authorware巧妙实现影音动画(2002/01/31 14:04)
用Authorware 5.2轻松实现隐藏按钮(2002/01/28 14:14)
使用Authorware制作课件的疑难问答 (2002/03/05 15:16)
使用Authorware巧制课件“开关按钮” (2002/03/04 15:22)
让Authorware课件实现全屏播放 (2002/02/19 14:00)
用Authorware巧妙实现影音动画 (2002/01/31 14:04)
用Authorware 5.2轻松实现隐藏按钮 (2002/01/28 14:14)
在Authorware中实现四季变化动画 (2002/01/15 16:23)
Authorware巧使课件“跑”起来 (2002/01/11 15:49)
在Authorware中插入PowerPoint演示 (2001/12/07 17:26)


科技时代意见反馈留言板 电话:010-82612286 或 010-82628888-3488   欢迎批评指正

网站简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 帮助信息

Copyright © 1996 - 2002 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网