处理完了字符的下落逻辑,我们重新回到小齿轮对象,来处理按键的处理,关于按键防抖,博主在博文《Scratch 利用开关量实现按键防抖》有过提及,在实现打字游戏的过程当中,也遇到了类似的问题,当按下某按键的粘连时间过长时,会导致屏幕上所有的该字母一起消失,轻松实现了一个连击。
下面这张图如果看不清楚的,可以尝试右键“在新标签页中打开图片”哦。这里利用了一个按键防抖
的开关量,让按键在首次被按下时才执行确定需要删除的字符的操作,当按键未被松开,那么计数器无法回零,按键防抖变量就无法被重置,也就跳过了第二次按键判定。
这里值得注意的是重复执行直到
这块积木的逻辑,这里使用了一个“或者”的条件,当找到有值时,或者当超过列表长度时,循环即告停止,需要删除字符
变量的设置是在找到有值的情况下,当停止条件是超过列表条件时,删除计数
变量的值会超过列表长度,所以也就不再对删除字符
这个变量赋值。当这个判定不存在时,会出现快速点击按钮时,新出现的任意字符立刻消失的bug。问就是博主也是遇到bug才调整的代码 - -!!!。