第7课 酷炫美妙的向阳花
7.1 课程简介
(1)本课的课程名称是“酷炫美妙的向阳花”。酷炫的图案总是让人赏心悦目、心旷神怡。向阳花很漂亮,向阳花最神奇的就是它会跟随太阳转动。
(2)构思和设计这样一个动画情景:用鼠标在舞台上的任意位置单击,向阳花旋转、颜色闪烁,同时向阳花移动到鼠标单击的位置。图章指令结合循环指令可以设计出无穷无尽的美妙图案,特别是可以用简单的图形创作出很复杂的精美图案。
(3)课时建议:总用时45分钟,其中老师讲解10分钟,学生设计创作20分钟,学生交流分享7分钟,老师点评总结8分钟。分组建议:2或3人一组。
7.2 课程准备
同第1课。
7.3 课程的STEAM元素
(1)科学:葵花也叫向日葵或向阳花。向日葵为什么会跟随太阳转动?向日葵从发芽到花盘盛开之前这一段时间,的确是向日的,其叶子和花盘在白天追随太阳从东转向西,不过并非即时地跟随,植物学家测量过,其花盘的指向落后太阳大约12°,即48分钟。太阳下山后,向日葵的花盘又慢慢往回摆,在大约凌晨3点时,又朝向东方等待太阳升起。在阳光的照射下,生长素在向日葵背光一面含量升高,刺激背光面细胞拉长,从而慢慢地向太阳转动。
在太阳落山后,生长素重新分布,又使向日葵慢慢地转回起始位置,也就是东方。但是,花盘一旦盛开后,就不再向日转动,而是固定朝向东方了。为什么最后要面向东方而不是其他方向或朝上呢?这可能是自然选择的结果,对向日葵的繁衍有益处。
(2)工程:能利用互联网搜集更多的信息来学习向日葵和其他植物的有关知识,并用来改进和完善自己的项目;做更多有关该主题的创作设计。
(3)技术:了解编程是什么;能应用编程知识和技能设计小动画和小游戏;初步掌握条件判断指令、循环指令、图章指令、外观相关指令的概念和实际应用。
(4)艺术:从网络搜索葵花图片并对其进行加工处理,初步掌握图片处理技巧,增强美术修养;掌握给动画或游戏编配音乐的原则和方法。
(5)思维和能力:启发学生的好奇心,锻炼学生的想象力,培养学生的逻辑思维和沟通协作能力。
7.4 提问与想象
旨在围绕主题让学生提出感兴趣的可以探讨的主题。课堂上,创设问题情境是关键,教师让学生想象向日葵为什么会跟随太阳转动,类似向日葵这种植物有哪些生长规律等。教师要重点指导学生创作和设计本作品的方案,并阐述其中的想法。
(1)向日葵为什么会跟随太阳转动?
(2)类似葵花这种植物的生长特点是什么?
(3)如何通过编程设计来实现炫酷的朵朵葵花?
7.5 讨论与计划
旨在思考解决问题的对策和实现的方法。不同小组的同学提出各种实现向日葵旋转和在舞台上任意位置显示朵朵葵花的方案和办法,说明本作品实现的原理和所需准备的素材,探讨创作中的STEAM元素。教师要重点指导确定作品设计的最终方案,并准备相关素材。
7.5.1 设计方案
(1)针对角色“葵花”,综合利用图章、循环、条件判断指令,实现鼠标在舞台的任意位置单击时,就会在鼠标单击的位置出现另一个葵花,相当于将角色“葵花”在鼠标位置复制了一个。
(2)让葵花在复制过程中旋转起来,动感十足。
(3)让葵花的颜色不停地变化,更加绚丽多彩。
(4)太阳由七彩色组成,设计一个背景,其边框由七彩色组成,边框的颜色也可以不停地变化。
(5)给本课动画配上音乐,培养学生的音乐艺术素养。选择什么音乐好呢?可以从网络上下载儿童歌曲《向日葵》《会唱歌的向日葵》,也可以选择声音库里的音乐。注意,音乐的内容、节奏、风格等应该与本课动画相呼应。
7.5.2 素材准备
(1)葵花:自己动手绘制一幅图片“葵花”,也可以从网络上搜索、下载并加工,如图7.1所示。图片造型力求准确和精美。
图7.1 葵花
(2)背景:自己动手绘制一幅图片“七彩色画框”(也可以从网络上搜索、下载并加工),如图7.2所示。图片造型力求准确和精美。
图7.2 七彩色画框
(3)音乐:从网络上搜索、下载儿童歌曲《向日葵》,与本课主题相呼应。
7.6 设计与创作
旨在通过学生亲自实践,设计并完善作品。不同小组的同学动手设计作品,记录问题。教师要重点指导设计程序的创作步骤、重点、难点。
7.6.1 打开已有项目
(1)如果已经有了本课的案例程序,请打开Scratch3.0系统,在系统主界面的左上方单击“文件”菜单,在显示出来的菜单里再单击“从电脑中上传”,此时选择需要打开的Scratch项目程序即可,Scratch3.0的文件扩展名是.sb3。参见图1.18。
(2)打开程序后,代码(图形化程序)就会出现在系统的代码区。此时,就可以用鼠标拖动代码里的指令(积木块),进行模仿学习,老师也可以按照这种方法进行演示和教学。
(3)也可以修改代码区里的代码。当需要删除某条指令或某段代码时,鼠标移到该指令,按住鼠标左键,直接用鼠标左键将指令积木拖动到指令库里,然后松开鼠标即可。当需要添加某条指令时,鼠标移到指令库里的某条指令,按住鼠标左键,直接用鼠标左键将指令积木拖动到代码区,然后松开鼠标即可。
(4)注意:如果修改了代码,请确认修改的代码正确无误后,单击主界面左上方“文件”菜单,在显示出来的菜单里单击“保存到电脑”,保存的文件名不变。如果不能确定修改的代码是否正确,可以在单击“保存到电脑”菜单后,重新给该项目命名,之前的程序依然存在。
7.6.2 新建一个项目
(1)如果还没有本课的案例程序,请打开Scratch3.0系统,在主界面的左上方单击“文件”下拉菜单,在显示出来的菜单里单击“新建项目”,此时会出现Scratch3.0系统的默认界面,参见图1.19。
(2)默认的主界面的代码区是空白的,舞台中央默认的角色是一个小猫,角色名称是“角色1”,这是Scratch3.0系统的标志。此时,单击“文件”菜单,在显示出来的菜单里单击“保存到电脑”,给新建的项目起一个名字(命名),名字应该与项目的内容相符,本课的名称是“酷炫美妙的向阳花”。命名后,将此项目保存在电脑里的某个位置。
(3)此时,可以按照下面的代码用鼠标左键拖动指令库里的指令到代码区,全部完成后,就可以单击主界面上方的“小绿旗”执行程序。如果有问题,请检查程序是否正确。
7.6.3 编写代码
1.葵花的代码
(1)打开Scratch3.0编程系统,出现Scratch3.0编程主界面。此时在主界面右上方的舞台上,系统默认的角色是一个小猫(Scratch3.0系统的标志),名称是“角色1”。
(2)因为本课不需要角色小猫,所以,单击舞台下方角色区域的小猫(角色1),此时小猫会变成蓝色,同时在此图标右上角出现一个“x”。单击“x”删除该角色,也可以单击鼠标右键,在出现的菜单里选择“删除”,即将角色小猫删除。
(3)新建1个角色“葵花”。在舞台下方的角色区域,鼠标指向“新建角色”图标,在显示出来的菜单里单击“上传角色”,将事先准备好的如图7.1所示的葵花图片上传。
(4)紧接着,鼠标左键单击主界面左上方的“代码”标签,按照图7.3和图7.4所示,用鼠标左键从主界面左侧的指令库里拖动指令到代码区域(主界面中间)。具体操作方法及注意事项请参考本丛书的第1册(《Scratch3.0编程基础及指令详解》)。
2.背景的代码
(1)鼠标单击舞台下方的背景,舞台的默认背景是白色的,参见图1.25。请注意,此时系统主界面左上方的标签的变化。针对角色,标签名称是“代码”“造型”和“声音”。针对背景,标签名称是“代码”“背景”和“声音”。
图7.3 葵花的代码-1
图7.4 葵花的代码-2
(2)为增强动画视觉效果,鼠标单击舞台下方的背景,紧接着单击主界面左上方的“背景”标签,鼠标指向左下方的“新建背景”图标,在显示出来的菜单里单击“上传背景”,将事先准备好的如图7.2所示的背景图片上传。
(3)鼠标指向“新建背景”图标,在显示出来的菜单里可以看出,新建背景有四种方法,即“选择一个背景”(从系统自带的背景库里选择)、“绘制”“随机”(系统自带的背景库里随机选择,即系统自动选择)和“上传声音”。
(4)紧接着,用鼠标左键单击主界面左上角的“声音”标签,鼠标指向左下方“新建声音”图标,在显示出来的菜单里单击“选择一个声音”,从系统自带的声音库里选择声音文件“xylo1”“xylo2”“xylo3”“xylo4”;紧接着,鼠标指向左下方“新建声音”图标,在显示出来的菜单里单击“上传声音”,上传预先下载的儿童歌曲《向日葵》。
(5)紧接着,鼠标左键单击主界面左上方的“代码”标签,按照图7.5和图7.6所示,用鼠标左键从主界面左侧的积木库里拖动积木到代码区域(主界面中间)。具体操作方法及注意事项请参考本丛书的第1册(《Scratch3.0编程基础及指令详解》)。
图7.5 背景的代码-1
图7.6 背景的代码-2
3.运行程序
(1)至此,本课脚本编写已经完成。单击系统舞台上方的“小绿旗”,运行程序,检查程序是否正确。程序的具体调试方法和注意事项请参考本丛书的第1册(《Scratch3.0编程基础及指令详解》)。
(2)程序执行的效果截图,如图7.7所示。请注意,该截图仅仅是程序执行到某一时刻的效果,不可能反映程序执行的整体效果。
图7.7 程序执行效果截图
7.6.4 要点和难点说明
注意:每一课的要点和难点说明在以后的各课中不重复说明。
(1)为实现葵花绚丽的效果,程序开始执行时,先将角色葵花移到舞台中央并放大,等待3秒后,将葵花缩小,并使用外观指令使其颜色变换。
(2)为实现“当鼠标单击时葵花移到鼠标位置并旋转”,可以综合使用控制指令“重复执行”“如果……那么……”和侦测指令“按下鼠标?”。
使用计算机语言编写的程序有三种基本结构,即:顺序结构、分支结构(条件判断)和循环结构(重复执行)。这三种结构可以实现任意复杂的程序逻辑。
程序一般是按照指令的先后顺序执行的,当遇到循环指令和条件判断指令,程序的执行会发生“拐弯”。另外,循环控制指令和条件判断指令可以“嵌套”使用,即循环指令可以再包含循环指令或条件判断指令,可以多层包含,此时的程序比较复杂。对于复杂的程序,需要多次阅读理解和调试。如果有多层嵌套,那么当最里面的一层执行完后,才执行该层外面的一层。
(3)实现“当鼠标单击时葵花移到鼠标位置”,是使用了画笔指令“图章”,相当于在鼠标位置复制了一个角色“葵花”。一般来说,画笔指令“图章”与画笔指令“全部擦除”联合使用。因为程序在开始执行时,应该擦除上一次程序执行时留在舞台上的葵花的痕迹,即舞台应该是初始的画面。所以,在程序刚开始执行时,首先要使用画笔指令“全部擦除”来擦除上一次程序执行时留在舞台上的痕迹,如图7.8所示。
图7.8 画笔指令说明
(4)为烘托整个动画的气氛,可使用外观指令“将……特效增加……”,让背景“七彩色画框”也变换颜色。
(5)给本课配上音乐,选择音乐应该本着“符合主题内容,有助于强化主题效果”的原则。本课的音乐风格应该是:自然、轻松、美好、变换等。
7.7 测评与提升
不同小组的同学展示自己的作品,着重说明作品的设计原理、方法和特点,并分享设计中遇到的挑战和解决的办法。教师重点指导如何完善与提高作品。
(1)本课需要解决的问题包括:当鼠标单击时,葵花移到鼠标位置并旋转;葵花的多彩变换;适合本课场景的背景;适合本课场景的音乐等。
(2)程序是非常灵活的,为达到一个目的或效果,程序的设计也是千变万化的,可以有多种解决方法和实现路径。多学习,多实践,多总结,举一反三,便会逐步得心应手,灵活运用。
7.8 分享与展示
不同小组的同学继续分享各自思考和设计创作中的经验,从肯定、否定、兴趣点3个维度做出互评。教师重点指导如何科学有效地进行评价。
(1)为达到一个创意目的,或实现一个效果,程序的设计虽然可以有多种方案和方法,但好的程序除了程序执行的正确性外,还要求程序是“高效简洁”“容易理解”的。
(2)容易理解的程序会给自己和别人在调试程序和今后修改程序时带来极大的方便,而简洁的程序会提高程序的执行效率并有助于阅读程序。
7.9 反思与总结
不同小组的学生代表呈现互评结果,师生交流学习历程。教师重点指导学生如何进行有效的反思。
(1)绝对完美的程序基本上是没有的,如同我们写一篇作文,可以反复修改完善,精益求精。
(2)另外,作品的创意更是可以在程序的设计过程中,逐步求精,趋于完美。因为只有在实际的程序设计中,才会发现问题,才会有更多更好的想法。
7.10 本课知识技能
(1)控制指令:如果……那么……;重复执行;重复执行……次。
(2)事件指令:当“小绿旗”被单击。
(3)侦测指令:按下鼠标?。
(4)运动指令:左转……度;右转……度;移到鼠标指针;移到:x……y……。
(5)外观指令:将大小设为……;将颜色特效增加……。
(6)声音指令:播放……等待播完。
(7)动画的背景音乐的搜索、选择、播放。
(8)图片的搜索、处理。
7.11 举一反三
(1)参考本课,当按下空格键时,葵花出现在舞台上不确定的位置,试试吧!
(2)为进一步增强本课动画的效果,当鼠标左击舞台复制了一个葵花后,出现“太酷了”的声音、很多小朋友鼓掌的声音、很多小朋友的笑声,如何实现呢?
(3)可以改变本课脚本里的参数,执行一下,看看有什么变化?思考一下,为什么?