用Action Script数组保存每个单元格的位置编号和内容,并用变量记录已点过的内容,每次点选后进行比较判断,从而确定是否是相邻变量记录内容之后的内容。
首先用一个数组保存所有要进行分配的数字,在单元控件生成之后将数字随机分配给一个二文数组,二文数组的下标组合就是相应位置控件的二文坐标,二文数组的内容就是就是相应控件上显示的文本内容,需要一个全局变量来记录已经点过的内容,每次点击数字之后,与该全局变量中保存的值进行比较,如果相同,就是正确的,数字控件消失,如果不同则不进行任何操作。
作为训练内容,需要一个标准来衡量训练的结果,舒尔特表格中这个标准就是时间,完成舒尔特表格的时间越短越好,而训练的阶段也是由时间来决定的,完成训练用时的多少就显示了处于训练的哪一个阶段,每一次完成之后都可以根据时间来判断自己的训练阶段,从而确定是否要提高训练难度或者更改训练类型。
2.2.3 纸牌翻转
用Action Script数组保存每个纸牌的位置编号和内容,并用变量记录前一张的内容,每次点击后进行判断,如果变量中有内容,进行比较,从而确定是否是相同的内容,然后清空变量,如果是不同的内容还要将两个编号的纸牌背向。
在舒尔特表格的基础上,有了数字随机生成的功能,而在翻牌训练方式中,需要的是两两匹配的数字字符。实现这个功能的方法,预设为在生成好所有数字之后,将数字进行匹配,把匹配的两个数字改为相同的,具体的设计上,将数组后半部分的数字与数组前半部分的数字匹配,然后将后半部分中的数字改为相应匹配的前半部分的数字。另一个需要添加的功能就是卡背,因为在训练开始数字是不显示的,只有在点击一张卡片之后,卡片所覆盖的数字或者字符才会显示出来,因此要在数字影片剪辑中加入一个新的卡背层,默认显示,将数字字符覆盖。在进行点击操作后要判断是奇数次点击还是偶数次点击,也就是判断是不是已经有了一个显示出来的数字字符,如果没有显示出来的数字字符,就将点击的数字字符保存在要进行比较的全局变量中,在之后的点击中,已经有了显示出来的数字字符,就将点击的数字字符与保存在全局变量中的数字字符进行比较,如果是相同的,即找到一组匹配的数字字符,清空全局变量中保存的值,如果是不同的,就把两个数字字符的卡背再次显示出来,即两个数字字符再次隐藏。
2.2.4 拼图
用Action Script数组保存每个图案的位置编号和内容,以及这个图案在原图中的位置编号,每次进行位置互换就将数组中这两个图案的位置编号互换,并检查每个图案的位置编号是否与记录的原图中的位置编号相同,即检查是否完成了拼图。
拼图这里需要记录每个图片的位置,在点击之后判断,第一次的点击是确定要移动的图片,第二次的点击是确定要进行交换的位置,关键的记录信息是每个图片的正确位置以及当前位置,对于两个图片交换位置的方法,因为与交换训练方式有一定的共通之处,所以先完成交换之后,再在交换的移动方法基础上改进,实现图片的交换,而判断是否完成拼图,也是通过记录下来的每个拼图的正确位置来实现的。
2.2.5 交换
用Action Script数组保存每个纸牌的位置编号和内容,开始后每次随机变换位置也把纸牌的位置编号互换,即可。
从本质上说,交换不过是改变数字或者字符所在控件的XY坐标,相对较为容易完成,但从训练的角度出发,需要这个交换过程是肉眼可见的,如果只是单纯的改变位置信息,人根本无法察觉到改变,找出交换后的数字或字符也无从谈起。因此,交换训练这里要实现的关键功能是延时移动交换,也就是移动方法中每次只移动两个要交换的控件一小段距离,通过循环调用移动方法来完成两个控件的相互靠近并最终完成交换。 基于Flash的儿童注意力训练应用设计(5):http://www.751com.cn/yishu/lunwen_29241.html