在Authorware中实现循环的多种方式

来源:不详 责任编辑:栏目编辑 发表时间:2013-07-02 02:58 点击:

    我们都知道程序设计中有一种循环语句,利用它我们可以完成一些看起来不太容易的事情,那么,在Authorware中,我们怎么来设计一个循环结构呢?其实,这在Authorware中是件很轻松的事情。比如下面我们利用循环语句在屏幕上画一个圆心在(300,200),半径为150像素的圆。在Authorware中你可以有三种方法呢!

    利用程序语句

    Authorware提供了一些基本的编程功能,同样也允许您使用程序语言。循环语句是“repeat while……end repeat”。在Authorware中,像这样的语句您应该把它放到一个计算图标中。

比如,我们在流程线上放一个计算图标,命名为“画圆”,双击该计算图标,在打开的输入窗口中直接输入如下的内容:

a:=300
  b:=200
  r:=150
  angle:=0
  repeat while angle<=2*Pi
  x:=r*COS(angle)+a
  y:=r*SIN(angle)+b
  Circle(2,x-2,y-2,x+2,y+2)
  angle:=angle+0.05
  end repeat

利用goto函数

Authorware提供了很多的系统函数,其中goto函数就是经常使用的一个。

在流程线上拖一个计算图标,命名为“初值”,双击该计算图标,在打开的输入窗口中直接输入如下的内容:

a:=300
  b:=200
  r:=150
  angle:=0

其下再拖一个计算图标,命名为“计算坐标”,双击该图标,在打开的输入窗口中输入如下的内容:

x:=r*COS(angle)+a
  y:=r*SIN(angle)+b

在流程线上拖放第三个计算图标,命名为“画圆”,双击该图标,在打开的输入窗口中输入如下的内容:

if angle<=2*Pi then
  Circle(2,x-2,y-2,x+2,y+2)
  angle:=angle+0.05
  GoTo(IconID@"计算坐标")
  end if

这种方法虽然有点儿麻烦,可是画出的效果和第一种画法有所不同(这种方法中,画面上只显示一个点。如果您想画的不是这么简单的一个圆,而是一个更复杂的动态图形,比如旋转的立方体什么的,那么您还希望它每一个状态都保留吗)。

利用决策图标

利用决策图标不仅可以完成循环结构,而且可以对循环过程做一些设置。因此,在Authorware中做循环,这是最常用的一种方法。

先在流程线上拖一个计算图标,命名为“初值”,双击该计算图标,在打开的输入窗口中直接输入如下的内容:

a:=300
  b:=200
  r:=150
  angle:=0


在流程线上拖一个决策图标,在其右侧放一个计算图标,命名为“计算画圆”,双击打开其输入窗口,输入如下内容:

x:=r*COS(angle)+a
  y:=r*SIN(angle)+b
  Circle(2,x-2,y-2,x+2,y+2)

在右侧再放一个计算图标,命名为“频率”,双击打开其输入窗口,输入如下内容:

angle:=angle+0.05

别急,还没完呢!

双击决策图标,在打开的决策图标属性对话框中,将“Repeat”的值选为“Until Ture”,并在其下方的输入框中输入条件:angle>2*Pi。其他采用默认设置。

执行一下看看,这时的效果和第二种方法是一样的。如果您双击“计算画圆”计算图标上方的小菱形,在打开的分支属性对话框中,将“Erase Contents”的值选为“Don't Erase”,那么执行的效果就等同于第一种。假如您觉得画得太快影响效果的话,您可以在决策图标的右侧加一个等待图标,并设置间隔时间。

其实,利用循环画圆只是一个很简单的应用。只要您掌握了这几种循环的方法,并能在Authorware中灵活应用,那么,自然可以做出更炫目的东东。

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 5. 启动程序
    • authorware7.0函数教程连载--Time类
    • 在Authorware中实现循环的多种方式
    • authorware7.0函数教程连载--CMI类(1)
    • Authorware轻松实现动画循环播放
    • 105. 框架图标属性
    • 85. 强化练习—选择题3

    快速直达

    媒体动画导航

    Authorware
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1