做多媒体作品,总是希望能有一个不错的效果。这不,又想起小时候看电影时,八一电影制作厂片头上那光芒四射的红五星了。这也算是那个时代一个经典的效果吧。要是在咱们的多媒体作品中也能放上这么一个效果,呵呵,您想想,肯定够酷。现在,咱们就用Authorware来实现这个目标?
实现原理
假定有两个同心圆,让一个角的顶点就与这个圆心重合,那么它与两个同心圆必然都会有交点。我们可以利用Authorware的计算功能来计算出这两个点在屏幕上的坐标位置,然后用线段进行连接。这样,就得到一条线段,就用它来做光芒吧。
图1
改变角度,就会得到另一个线段。做满一周,就会得到一圈光芒。 改变大小圆的直径,就会得到另一圈光芒。 而这种改变,用一个循环语句岂不是很容易就可以做到?怎么样?原理是够简单吧?
实现过程
1、在主流程线上放一个显示图标,导入一个五角星的图片。这就是那个红五星了。
2、在主流程线上再放一个决策图标,双击打开其属性对话框,将“Repeat”的值改为“Until Click/Keypress”。
3、最后放一个计算图标到决策图标的右侧,双击打开其输入窗口,输入如下内容:
h:=320
k:=240〖指定中心点的坐标〗
r1:=100
r2:=92〖指定大小两个圆的半径〗
repeat while r1〈=400〖指定大圆的范围。以上这些数据是可以根据实际需要自行改变的〗
SetFrame(1,RGB(255,0,0)) 〖指定光芒的颜色,此外为红色〗
angle:=-0.5*Pi 〖指定角度的初始值〗
repeat while angle〈=1.5*Pi 〖使角度正好完成一周〗
x1:=r1*COS(angle)+h
y1:=r1*SIN(angle)+k〖计算当前角终边与大圆交点的坐标值〗
x2:=r2*COS(angle)+h
y2:=r2*SIN(angle)+k〖计算当前角终边与小圆交点的坐标值〗
Line(3,x1,y1,x2,y2) 〖用线连接大圆交点与小圆交点〗
angle:=angle+Pi/18〖设置角度差〗
end repeat〖完成当前大小圆内的全部线段〗
r1:=r1+20
r2:=r2+20〖大小圆的半径各自增加20象素〗
end repeat
好了,完成后的流程线如图1所示。执行一下,呵呵?效果如何?什么?开始放上的那个红星的位置不对?不要紧,按一下“Ctrl+P”快捷键,使程序暂停执行,然后双击一下那个红星,是不是在这个红星的周围又出现了控制句柄?行了,现在你想怎么调整就调整吧,直到你满意为止,执行后的效果如题图所示。
顺便提醒一句,对程序稍加改变,也许您可以得到更好的效果呢。比如将SetFrame(1,RGB(255,0,0))一句改成SetFrame(1,RGB(255,r2,0)),您再执行看看?
要是再加上音乐,呵呵,那才是盖了帽了呢!好了,我也甭废话了,您还是自己做一个瞧瞧吧。