基于GGB的交互式翻页效果实现
2022-04-29蒋维
蒋维
关键词:GeoGebra;翻页;随机数;指令
1GGB分页显示对象
1.1利用显示条件设置翻页
在对象的显示条件中利用逻輯语言进行页面的定位,创建一个整数数字滑杆,即整数变量n,最小值设为1,最大值可根据页数的需求进行设置。当n=1时,在当前绘图区制作出需要显示的对象,选中所有对象后点鼠标右键打开属性框,在高级标签下的显示条件一栏设置显示条件:n=1,此页面制作完成。拖动n,使n=2,绘图区所有对象清空,此时可在n=2的界面上制作出需要显示的对象,制作完成后同样选中n=2界面上的所有对象,设置显示条件为n=2,按上述方法重复设置剩余页面即可。制作完成后就可拖动变量n进行界面的切换,即实现翻页功能。如果拖动滑动条n进行翻页不太好控制,可以制作两个控制按钮——“下一页”和“上一页”,设置“下一页”按钮的脚本:n=n+1,“上一页”按钮的脚本:n=n-l,按钮设置好后隐藏变量n即可实现用按钮控制翻页。
1.2利用显示/隐藏图层设置翻页
在GeoGebra中,对象的显示图层数值必须是在数集{0,1,…,9}中的整数,0表示最下面的图层,9表示最上面的图层[1]。利用图层设置翻页创建一个整数数字滑杆m,m的取值范围只能是[0,9],所以此方法制作的页数最多为10页。当m每取一个整数值,在当前页面上绘制出相对应的对象,绘制完成后选取所有绘制对象,右键打开属性框选择高级标签,在高级标签下选择图层数,此时选择的图层数应与m的值一致,如m=1图层设为1,m=2图层设为2,以此类推。以上图层设置完成后并不能拖动变量m进行翻页,此处还需要用到两条脚本指令:显示图层(<图层编号(0~9)>),使指定图层上的所有对象处于显示状态;隐藏设置图层(<图层编号(0~9)>),使所有在指定图层上的对象不可视[2]。利用图层设置翻页一般需要借助其他对象把显示图层和隐藏图层两条指令写入辅助对象的脚本中,利用对象的脚本更新来控制m值的变化和显示/隐藏图层指令的执行。创建两个控制按钮“下一页”和“上一页”,在“下一页”按钮的脚本中写入脚本:隐藏图层(m),m=m+1,显示图层(m);在“上一页”按钮的脚本中写入脚本:隐藏图层(m),m=m-1,显示图层(m)。使用显示/隐藏图层设置翻页时需要注意翻页按钮的图层不能设定为m取过的值,否则当取得某页面图层m时翻页按钮也会被隐藏,如有8页页面,m可以取值1~8,此时按钮的图层数可以设为0或9,m如果取值0~7,则按钮图层可以设为8或9,同理,如果一个对象不出现在任何界面上,此对象的图层设定也只能取m未取过的值。
2文中SetValue()与等号的区别
SetValue()与等号在GeoGebra中都可以表示取值的意思,但等号的作用除了取值外还有定义的作用,包括定义变量名,如A=(1,1)表示定义了一个点A并取得坐标值为(1,1),而SetValue(变量,值)只表示赋值,没有定义作用,参数中的变量必须是先定义过的自由变量,否则使用时会提示是否定义一个数值变量或提示错误未定义变量。SetValue()与等号在取值方面的区别为SetValue()赋值的意思是在这一瞬间赋值给变量,而用于定义的等号则表示等号两边的值永远相等。例如,在指令栏中依次输入:a=1,b=2,c=j,b=a+l,SetValue(c,a+l),当把o值变为2时,6=a+l和SetValue(c,a+1)执行的结果是6的值为3,c值为2,把a值变为3时,b和c的结果值分别为4和2,在a值发生改变的过程中,6值会跟着动态变化,而c值则不会跟着改变,在GeoGebra中可以认为等号是动态赋值,而SetValue()是静态赋值。
3文中RandomBetween()和GetTime()的作用
本文主要实现九九乘法算式的练习,利用RandomBetween(
Integer>,
本文在进行算式练习时制作了一个计时器,计时器是由GetTime()/系统时间()来实现的。GetTime()创建一个当前系统时间的列表:毫秒、秒、分、时(0~23)、日、月(1~12)、年、月份(文本格式)、星期(文本格式)、星期日数(1=周日、2=周一,以此类推),如系统时间()返回{647, 59, 39, 20, 28,6,2022February¨,¨Monday¨,2}等列表。本文制作的计时器是把由GetTime()获取的列表中的秒数和分数提取出来一同转换成一个总秒数,利用变量的更新来更新系统时间,获取相对应的计数秒数,实现限时和计时功能。
4程序的设计与实现
4.1设置变量
指令栏依次输入n=1,a=1,b=1,i=1,c=1,1={},n用于存放练习题总数,a用于存放做题限制时间,6用于设置动画更新系统时间,以进行倒计时控制等,i用于记录当前所做的总题数,c用于存放用户输入的题目答案,1用于记录做过的题目和对错判断结果,以上变量的初始值可以任意取值,因不需要显示在任何界面上,所以设置的图层均为0,并隐藏对象。
4.2设置界面一
指令栏依次输入textl=¨输入练习数量和练习时间¨,text2=¨题¨,text3=¨分钟¨,InputBoxl=输入框(n),InputBox2=输入框(a),buttonl=按钮(¨$开始做题$¨),在属性框中把InputBoxl和InputBox2的标题名分别设为$练习数量$和$练习时间$。调整各对象在界面一上的相对位置,把界面一上的所有对象选中,打开属性框,在高级选项中把所有对象的图层设为1。此界面上用户可设置做题数量和做题时间,点击“开始做题”按钮进入界面二进行题目练习。
打开“开始做题”按钮的脚本编辑,在¨单击时¨标签下输入以下脚本:
删除(11)\\删除上一次的做题记录
设置图层(11,0)\\设置11的图层为0
text_{用时}=¨\\清空用时提示
i=1\\做题题号重计为1
t1=系统时间()\\获取当前系统时间
t1=2=兀素(t1,2)\\获取当前系统时间的秒数
t1_3=兀素(t1,3)\\获取当前系统时间的分数
t-{结束}=t1_3冰60+t1_2+a术60\\设置倒计时结束时间
隐藏图层(1)\\隐藏第一界面
显示图层(2)\\进入第二界面
启动动画(b)\\更新变量b的值,更新系统时间等
m_1=RandomBetween(1,9)\\随机取得第一个乘数
m_2=RandomBetween(1,9)\\随机取得第二个乘数
4.3设置界面二
打开变量b的脚本编辑,在“更新时”标签下输入以下脚本:
t2=系统时间()\\获取更新的系统时间
t2=2=元素(t2,2)\\获取更新系统时间的秒数
t2=3=元素(t2,3)\\获取更新系统时间的分数
t一{开始}= if(t2_3>=t1_3,t2—3冰60+t2—2,t2—3
4.4设置界面三
指令栏中依次输入text{提示}=已做完!,text_{用时}=,button4=按钮(¨$查看结果),button5=按钮(“$重新开始$”)。调整各对象在界面三上的相对位置,把界面三上所有对象选中,打开属性框,在高级选项下把所有对象的图层设为3,text_{提示}和text_{用时}初始值可以任意设置。此界面会根据用户做题情况进行提示,用户可点击“查看结果”按钮查看做题记录包括做题时间和做题正误,点击“重新开始”按钮可返回至界面一。
\\如果未练习,设置提示语text_{用时}=“未做练习题查看不了结果”
打开“重新开始”按钮的脚本编辑,在“单击时”标签下输入以下脚本:
隐藏图层(3)\\隱藏界面三
显示图层(1)\\显示界面一
5结束语
本文以九九乘法练习为例进行翻页效果的设置,也可在此基础上设计随机的加减乘除等更为复杂的运算,在界面内容上也可更完善,如在界面二上可增
加一个“返回首页”按钮等。