按钮一次一跳:持续状态与按下事件练习
假设应用演练:说明条件、实际路线和判断方法,非已交付客户案例。
任务与实施方法
场景与本次目标
假设按住按钮时角色不断跳跃,但孩子原想一次按下只跳一次。请先用口述区分“当前按住”与“从未按到按下”,画出状态变化,再修改程序。记录修改前后各 5 次操作,观察长按与连按的结果,形成对事件和状态的实际理解。
活动先用语言说清楚
成人确认编程环境和元件适用,先用屏幕按键也能开展相同逻辑。孩子描述一次按下想发生几次,并画短按、长按和松开三张卡片。不要先用手速解释失败,更不应让孩子在通电装置上随意拔接;有硬件异常由成人停止并按说明处理,活动可以回到软件继续。
两种规则分别适合什么
规则一在当前按住时持续执行,适合讨论保持状态;规则二只在未按变成按下时触发,适合一次一跳。二者不是一好一坏,应由故事目标选择。让孩子先预测相同长按在两规则下有何不同,再找出需要保留前一状态的理由,不要求一开始背会专业术语或完整代码。
用修改前后相同操作比较
保留原项目,复制后只修改触发条件。用短按、长按和连按各做几次,写明实际操作而不是只挑成功的一次。观察结果后让孩子解释程序哪一部分造成区别,成人只帮助缩小问题,不直接删除一堆积木试到能用;若结果意外,回到能运行的基线再加一项。
可以先让孩子用手势表示未按、刚按、保持和松开,再把四张状态卡排成一次操作。这样即使代码还不熟,也有具体语言讨论逻辑。等能预测两条规则后再修改程序,避免把记住一段积木摆法当成理解事件。
无响应不都属于按钮问题
先确认程序在运行、输入被接收及角色是否处于允许状态,再讨论事件规则。软件模拟可以先隔离程序逻辑与真实元件,不能由模拟成功就认定接线正确。换一种输入复测时说明改变了什么;若涉及真实按钮,还需依据具体平台文档核对其输入行为,而非通用接线猜测。
让孩子完成一次交接
继续使用《家庭项目学习卡》,记原规则、预测、修改和实际现象。孩子向另一位家人说明怎样开始、怎样停止与何时会多跳,接收人按说明操作,额外提问写回卡片。结论是孩子能说明事件与状态的关系,五次练习只是示例次数,不是任何学习者的统一掌握期限。
开始前的条件
1. 可保存版本的编程项目与适用输入说明
2. 长按、短按及连按的操作卡
3. 主表《家庭项目学习卡》(home-project-card)
判断依据与资料
具体判断条件
- 能解释持续触发与按下触发的差别
- 修改前后使用同一操作作对照
- 孩子能独立说明规则,成人代做部分可区分
原始资料阅读
Scratch's Creative Learning Philosophy
https://www.scratchfoundation.org/learn/learning-library/scratch-creative-learning-philosophy
Built-in Examples
https://docs.arduino.cc/built-in-examples/
从一个具体需求,开始下一步。
产品、场景、条件与期望结果,我们一起梳理。