就一个 Scratch少儿编程 图章,我竟玩得停不下来
一个让我犯愁的工作坊
这周末的 Scratch Day ,Mitchel Resnick 会来,当然得要认真准备。一共六个工作坊,有乐高有 micro:bit,Tom 和老风的 MakeyMakey 更是设计了一大堆欢乐无比的体感游戏。相比之下,我和娜娜的 Scratch 纯软件工作坊气势上就输了一大截,真担心旁边教室扮成金刚的 Tom 一声欢呼孩子们就全跑了去。
思来想去,只能借助打印机和徽章机:教孩子们用代码画画,现场打印成贴纸或压成徽章,应该还能多些诱惑力。好像是 Jovi 吧,听我说了“用代码画画”后马上补了句“正好新年剪窗花”,于是我们的工作坊就叫做“窗花代码艺术创作”。
用代码来画窗花是最容易不过的事。信手涂鸦几个奇怪造型,再旋转着敲图章,窗花就画好了。
同样的造型,旋转不同角度重复敲不同次数的章,效果会就不一样。
但那么简单的玩法可实在拿不出手啊~~翻出我的“代码艺术课”私家珍藏,找到“对称图案”这章中的一个程序,稍作改动就成为剪窗花游戏。
美滋滋的玩了好久后,我开始犯愁 Scratch Day 那天要怎么教孩子们。别的不说,估计光讲完八个对称位置的坐标关系,孩子们就都找 Tom 去玩了。
继续在我的“代码艺术课”私家珍藏里找,翻来翻去都是逻辑性很强的作品,好些甚至还用到了分形、三角函数等知识。这些作品很能体现 Seymour Papert 的“通过计算机去学习其它知识”的思想,但我毕竟不是去上数学课的呀。
反省:逻辑 or 创意
想起上周末代码捣鼓日的晚上,和老师们聊起从 Piaget 到 Papert 到 Resnick 的思想的演变。Resnick 很好的继承了 Papert 的思想,且在其基础上顺应时代需求,将关注点放到了创造力培养上。那我的用代码画窗花的工作坊,怎样才能超越 LOGO 式的画画,更多的发挥孩子们的创造力呢?
我没有答案。
干脆,自己先来玩一玩吧。
尽可能降低代码的逻辑要求,甚至不用画线功能,看看光靠敲图章,能敲出怎样的创意来。
蒙德里安?草间弥生?如果不使用复杂逻辑,我该怎样才能创作出有艺术味道的画呢?也许只能画画波洛克?
我试着学草间弥生:
用点点装饰圣诞树:
还用来给甜甜圈添加糖粒:
但还能玩什么呢?我的创意又进入了死胡同。
忽然看着被彩灯掩埋的圣诞树,我想到了修拉:我可以用点彩的方式来给窗花涂色呢。
玩出来的创造力
只要把造型设成一个小点,在画布上随机移动,遇到不是白色的地方盖章,就可以了呢,代码比给圣诞树装彩灯更简单。
实验一:
通过颜色特效代码,可以让造型变成各种彩点。所以在下图背景上运行代码,就可以得到一朵五彩窗花。
(重要技巧:按住shift键的同时点击绿旗,可以进入加速模式。)
实验二:
继续玩,改一下颜色特效的随机数范围,就是冰蓝的雪花了。
实验三:
换个颜色范围,就是烈焰般的色彩,更适合用婀娜女郎做背景图。
实验四:
不过我还是更喜欢冰蓝的雪花,从网上找了些雪花剪影,发现很有意思,于是最初的窗花代码又可以派上用场了,还是省略了变量的极简版:
正在我精心设计雪花瓣的时候女儿跑来了,乱涂了几根线条发现效果竟也都不错。特别是搞笑的卡通上下眼,我怎么都想象不出它能演变成那么正常的一幅窗花。
实验五:
现在程序是:按 a 键画黑色窗花剪影,按空格点彩上色。玩够了随机色后,我的逻辑脑又不甘静默了。添加一个求距离的公式,染出彩虹色的花。
如果不想教孩子们公式,其实也有简单方法:添加一个在(0,0)位置的“原点”角色,然后复杂的公式就变成如下易理解的代码:
实验六:
继续玩,把圆点变成细斜线后图画的风格都变了。
实验七:
继续玩。之前是“碰到白色不成立就敲图章”,彩点都严格画在黑色轮廓之内。将判断条件换成“碰到黑色就敲图章”,彩点会跑到轮廓之外,画出来的是毛毛的感觉。
实验八:
画的彩点多了把黑色全部盖住成了一个个圆环,不够有趣,再添加一个亮度的随机值:
实验九:
旋转的花纹玩过瘾了,换成平移。小时候也剪过这样拉花式的窗花呢。
实验十:
把颜色设为x坐标,就出现了彩虹拉花。
实验十一:
按y坐标来设颜色,是另一种趣味。我应该做一个只有上半部分的火焰图案。
实验十二:
直接拿 Scratch 自带的造型也可以作画
上图使用的是“碰到白色不成立就敲章”的逻辑。如果要用“碰到黑色就敲章”的逻辑,只需要把背景造型的亮度改成-100就可以了。
实验十三:
正当我玩得起劲时,女儿又来捣乱了:她拖动蝴蝶角色到处飞,结果点彩跟着蝴蝶动,竟然满屏都是彩点。
这给了我灵感:干脆让彩点遇到角色就敲图章吧。为了提升效率,把一个彩点变成一堆彩点也不错。
结果很让人欢喜:图像如小草般迅速长成了模板的形状。
回顾:创意的源泉
近十个作品、十几个实验玩下来,再回头去看用了八个坐标关系的剪窗花游戏,虽然我依旧喜欢它的简洁精美,但已经清楚的知道:工作坊上我有更值得带孩子们玩的东西。
用代码画画是 LOGO 的标志性玩法,用来教数学再好不过,我的整套“代码艺术课”中用到大堆的数学知识,也正是因此我一直没把这门课做出来:毕竟现在学 scratch 的以低龄孩子为主。作为一个喜欢逻辑思考的工程师,我的创意也常常是强逻辑性的。但这次,我尝到了“玩”的精彩。
用点彩法画画,来自于程序运行过头后的意外;
两次灵感突破都来自女儿的捣乱;
从旋转的窗花到长条的拉花来自童年剪纸的记忆;
唯有色彩选择用到了一点点逻辑思考。其实我只是还不知道,如果换做孩子们来写色彩相关的代码,会有什么意外效果给我们带来惊喜呢。
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com