图1
实现平抛运动的程序框架如图1所示。分为三部分:实验支架和碰撞小球的制作、交互控制过程的制作和碰撞动画的制作。
?? 制作实验支架和小球
?? 启动Authorware 5.0,新建一文件,命名为“pingpao3.a5p”。点击菜单“Modify”,选“File”、“Properties”,选取背景色(Background)为“浅绿色”,分辨率(Size)为640×480,将选项“Options”中的“√”都去掉,点击[OK]退出。
??实验支架和碰撞小球的制作可使用显示图标工具箱里“椭圆”、“矩形”等工具完成,也可使用其他绘图软件画好后,再在Authorware中导入。为了能够实现动画效果,两个碰撞小球必须分别放入两个显示图标之中。假如一个取名为“redball0”,另一个取名为“blueball0”。最后,形成的实验支架如图2所示。
?? 制作交互控制过程
?? 1、在“pingpao3”主窗口中,将交互图标拖到流程线上,命名为“热区”。将组件图标拖到交互图标的右侧,选择热区响应(Hot Spot),取名为“演示”。从图标板上再将组件图标拖到“演示”图标的右侧,取名为“退出”。
图2
2、双击“演示”图标上方的响应属性虚线框,在弹出的窗口中点击“Hot Spot”标签,选中“Highlight on match”,鼠标形状(Cursor)为“手”状,点击[OK]退出。对“退出”图标的响应属性也做如上设置,不同之处是其“Response”标签,设置“Branch”为“Exit Interaction”。
?? 3、双击打开“热区”图标,在窗口右上角分别输入“演示”、“退出”字样,将字体设为黑体、18号、粉红色,并分别调整热区至“演示”、“退出”处。双击打开“退出”图标,将计算图标拖到流程线上,命名为“quit”。双击打开“quit”图标,输入“quit()”后返回。
?? 制作碰撞动画
?? 1、在“pingpao3”主窗口中,双击“演示”图标,从图标板上拖动计算图标到“演示”图标窗口,将计算图标取名为“xy初值”,并在“xy初值”计算图标中输入“x:=1↓ y:=1”。将删除图标拖到“演示”图标窗口,取名为“delete1”,设置其要删除的对象为“redball0”和“blueball0”。将“redball0”和“blueball0”复制到“演示”图标窗口,并分别改名为“redball1”和“blueball1”(如图3)。
?? 2、拖动组件图标到“演示”图标窗口,取名为“平抛运动演示动画”。打开“平抛运动演示动画”图标窗口,拖入动画图标,并命名为“moveredball1”。双击打开“moveredball1”图标窗口,点“Layout”标签,设置“Object”为“redball1”,“Type”为“Path to End”,移动路径为圆形轨道面;点击“Motion”标签,设置“Layer”为3,“Timing”为“Time 3”。
图3
3、在“平抛运动演示动画”窗口中,拖入删除图标,取名为“delete2”。设置其要删除的对象为“redball1”、“blueball1”。拖入显示图标,并命名为“redball2”。从“redball1”中把红球复制过来,并调整红球处于与蓝球相碰的位置,点开菜单“Modify”,选“Icon”、“Properties”,将“layer"设为2;把“blueball1”复制过来并改名为“blueball2”。
?? 4、在“平抛运动演示动画”窗口中,拖入动画图标,并命名为“moveblueball2”。双击打开“moveblueball2”图标窗口,点“Layout”标签,设置“Object”为“blueball2”,“Type”为“direct to Grid”,“Base”为“0,0”,“Destination”为“x,y”,“End”为“10,100”;点击“Motion”标签,设置“Layer”为3,“Timing”为“Time 0.08”,“Concurrency”为“Concurrent”。再拖入一个动画图标,并命名为“moveredball2”。双击打开“moveredball2”图标窗口,设置“Object”为“redball2”,“Concurrency”为“Wait Until Done”,其他同上。
图4
5、在“平抛运动演示动画”窗口中,拖入计算图标,并命名为“goto”。在“goto”计算图标中输入“x:=x+1↓ y:=x**2↓ if x<=10 then GoTo(IconID@"moveblueball2")”。拖入声音图标,并命名为“sound2”。双击打开“sound2”图标窗口,引入Windows 自带声音“Switch2.wav”。#p#分页标题#e#
??演示效果如图4所示。
评论 {{userinfo.comments}}
{{child.content}}
{{question.question}}
提交