| 首页 | IT动态 | 硬件 | 应用 | 互联网 | 网络 | 网站 | 黑客 | 编程 | 数码 | 视频教程 | 游戏 | 休闲 | 软件 | 视频 | IT认证 | 动漫图片 | IT杂谈 | 论坛 | 
Google
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • Maya4.0常用功能-Outliner窗…

  • Maya4.0创建场景物体-物体的…

  • Maya4.0创建场景物体-移动场…

  • Maya4.0创建场景物体-示例制…

  • Maya4.0Artisan建模-Artisan…

  • Maya4.0Artisan建模-涂刷遮罩

  • Maya4.0Artisan建模-表面雕刻…

  • Maya4.0Artisan建模-缝合表面

  • Maya4.0渲染基础-制作背景

  • Maya4.0渲染基础-制作基本材…

  • 广 告 位 置
    广告位置
    Q
    您现在的位置: 无忧IT人 >> 应用 >> 多媒体 >> Authorware >> 教程正文
    利用Authorware的函数制作旋转移动的方法           
    利用Authorware的函数制作旋转移动的方法
    作者:51iter 文章来源:www.51iter.com 点击数: 更新时间:2007-10-13
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
    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、 将文件保存,运行试试看。

    [1]

    教程录入:51iter    责任编辑:51iter 
  • 上一篇教程:

  • 下一篇教程:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |