在Authorw are中巧用函数实现动态改变运动对象
2010-01-15张晓慧
张晓慧
(阜阳职业技术学院工程科技学院,安徽阜阳 236000)
在Authorw are中巧用函数实现动态改变运动对象
张晓慧
(阜阳职业技术学院工程科技学院,安徽阜阳 236000)
在Authorware程序设计中,移动图标的使用可以增加程序的趣味性,吸引用户的注意力,但要实现程序运行中动态地改变运动对象就得借助函数和变量的独特功能。文章使用函数SubStr()和SetMotionobject(),方便快捷地实现了程序运行中变换不同运动对象的目的。
Authorware;变换运动对象;函数
动画是多媒体作品中不可缺少的一部分,在Authorware 7.0中可以通过“移动”图标使某个对象运动起来,一般来讲一个程序文件中有几个要运动的对象就需要用几个“移动”图标,分别对各个运动对象进行运动路径和运动属性设置,这种设计方法不仅增加了流程线的长度,还使得程序设计复杂,增加程序调试的难度和复杂度,运行效果也很难保证。其实,我们可以利用Authorware的强大的函数功能来实现这个效果,程序制作起来也非常简单。
1 制作思路
在多媒体设计中,动画的引入可以增加程序的趣味性,吸引用户的注意力。下面以“一只袋鼠从左自右不断做直线运动的过程中接住从一棵苹果树上依次掉下的10只苹果”为例,介绍函数SubStr()和SetMotionobject()的用法,方便快捷地实现了程序运行中动态变换10个不同运动对象的目的。
1)取字符串函数SubStr()。
语法格式:
resultString:=SubStr(“string”,first,last)
说明:SubStr返回 string中从 First到last的一部分。如object:=SubStr(“1234567890”,1,1),则 object的值为“1”。
2)设置移动对象函数SetMotionobject()。
语法格式:
SetMotionobject(Icon ID@“Motion”,Icon ID@“object”)
说明:设置当前活动对象的响应方式。“Motion”为驱使对象运动的移动图标的名称,“object”为程序运行中不断变换的运动对象的名称。这里的“object”通常引用的是运动对象的名称。
2 制作方法
2.1 主流程的制作
图1
1)新建一个文件,将其命名为“巧用函数.a7p”。
2)建立程序主流程图(见图1)。在“树”演示窗口中导入一幅“树”卡通图片,调整其位置。
3)在“袋鼠”演示窗口中导入一幅“袋鼠”卡通图片,调整其位置使“袋鼠”图片位于演示窗口左侧。
4)设置“移动袋鼠”移动图标的属性窗口,设置移动对象为“袋鼠”,并设置其运动方式为“指向固定路径的终点”,同时设置好“袋鼠”从演示窗口左侧运行到演示窗口右侧的运动路径。另外,为了使“袋鼠”在演示窗口中不断自左向右来回做循环运动,这里把执行方式设为“永久”,移动条件设为“true”。
5)拖入组图标并命名为“10个苹果”。
6)打开组图标“10个苹果”,拖入一个显示图标,命名为“1”,打开显示图标,并导入图片“苹果”,在“苹果”中心写上“{icontitle}”,然后复制“1”显示图标9份,并依次命名为“2,3,4,5,6,7,8,9,0”,设置流程如图2所示。
图2
7)打开“树”演示窗口 ,同时按住“ctrl”键双击打开“1”演示窗口,调整“苹果”的显示位置,使其位于“树”上,同理分别调整“2,3,4,5,6,7,8,9,0”演示窗口中的“苹果”,使“苹果”挂在“树”上,这样一颗苹果树就制作完成。
8)设置“循环移动10个苹果”判断图标,设置循环次数,这里判断图标属性窗口的“重复”——“固定循环次数”设置为10次,其他属性设置保持默认。
9)在判断图标“循环移动10个苹果”分支的右侧再次拖入一个群组图标,命名为“移动10个苹果”。
10)保存该文件。
2.2 设置“移动10个苹果”分支
1)设置如图3所示的流程。
2)在“更换移动对象”计算图标中输入:
object:=SubStr(“1234567890”,i+1,i+1)
——定义移动对象变量名“object”,一次取一个数字,即驱动一个对象运动;
Result:=SetMotionobject(Icon ID@“移动苹果”,Icon ID@object)
——设置程序运行中改变移动的“苹果”对象;
i:=i+1
——每执行一次该图标,i的值增加为1。
3)在“移动苹果”移动图标的属性窗口中设置运动类型:指向固定点。
由于苹果要落入袋鼠的袋子中,袋鼠从左自右做水平运动,因此袋鼠的X坐标值不断增加,而袋鼠的Y坐标值始终保持不变,因此苹果落入袋子的目标点的值设为:DisplayX@“袋鼠”+100和DisplayY@“袋鼠”。
运行时间设为1秒,执行方式设置为“等待直到完成”。
4)“擦除移动对象”计算图标中输入:
EraseIcon(Icon ID@object)
2.3 调试程序
运行程序。若有问题,对其进行修改。直到满意为止。
2.4 程序运行效果
图4
运行程序后,会看到一只卡通袋鼠从演示窗口左侧运动到演示窗口右侧,同时演示窗口上方的10个苹果不断依次落入袋鼠的口袋中,如图4所示。
3 制作技巧
1)这里把“移动袋鼠”移动图标属性对话框中的执行方式设置为“永久”,并把“移动当”的值设为“true”,目的是让袋鼠不断地从演示窗口左侧运动到右侧,直到退出运行程序。
2)Authorware中的判断分支结构可以判断程序以什么顺序执行,以及总共执行多少次。该程序中引用判断图标是为了不断更新变量i的值,类似于循环语句,程序每执行一次,i的值从0不断增加直到9,即语句 i:=i+1。
3)变换运动对象的10个苹果的名称分别命名为“0-9”这10个数字,是为了使用函数 substr()、Set Motionobject()和语句i:=i+1,使得程序每运行一次改变一次运动对象,这种把图标标题作为重要参数的方法,我们在程序设计中经常用得到。
4)“苹果”从“树”上落下后,需要使用 Erase Icon(Icon ID@“IconTitle”)函数 ,把落下的“苹果”擦除 ,否则“苹果”会停留在演示窗口中。
5)如果要让程序中10个苹果不断地落入袋鼠的口袋中,则可以在主流程线上再加入一个计算图标,并输入
i:=0
Go To(Icon ID@“1”)
有兴趣的读者不妨尝试,把袋鼠的运动路径改为曲线,同时更改“移动袋鼠”的图标属性窗口的坐标点的值,使“袋鼠”蹦蹦跳跳地接树上掉下的“苹果”,这样程序运行起来会更加有趣。
[1] 缪亮.Author ware多媒体课件制作实验与实践[M].北京:清华大学出版社,2007.
[2] 郝谦,刘亚平.计算机辅助教学与多媒体课件制作[M].北京:中国铁道出版社,2006.
Realizing Dynamic Change of Moving Objects Using Function in Author ware
Zhang Xiaohui
(School of Engineering Science and Technology,Fuyang Vocational and Technical College,Fuyang,Anhui236000,China)
In the Author ware program design,usingmoving icon can increase the interestry and attract the user’s attention.But to change the moving object dynamically in program running,we should use the unique features of functions and variables.In this article,by use of the function Sub Str()and Set Motionobject(),we realize the transformation of different moving objects conveniently and efficiently in program running.
Author ware;transformation of moving object;function
TP317
A
1671-2544(2010)03-0068-03
2010-03-21
张晓慧(1978— ),女,安徽阜阳人,阜阳职业技术学院工程科技学院讲师,硕士。
(责任编辑:陈锦华)