分享
 
 
 

利用Authorware的函数制作旋转移动的方法

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

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、 将文件保存,运行试试看。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有