荔园在线

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

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


发信人: guita (没有爱), 信区: Multimedia
标  题: 在Authorware中实现循环的多种方式
发信站: 荔园晨风BBS站 (Thu Apr 11 16:10:51 2002), 转信

我们都知道程序设计中有一种循环语句,利用它我们可以完成一些看起来不太容易
的事情,那么,在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中灵活应用,那么,自然可以做出更炫目的东东。

(责任编辑 guotao)

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


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

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