栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 人文期刊 > 电脑报

Scratch模拟下雪动画

电脑报 更新时间: 发布时间: 学术归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scratch模拟下雪动画

Intoweb

本文将带你通过对下雪天气的特征提取,综合使用Scratch自带素材库,制作夜晚下雪,树冠积雪,天亮雪化的动画。这个实例综合运用了Scratch多项特性,可以帮你加深对Scratch外观特效的理解。

一、下雪天气特点提取

下雪是常见的气候,那么我们将其转化为程序,就可以更好地理解程序与现实的相同与不同,明白构建程序需要的特征与可以舍弃的特征。

若我们要模拟下雪,首先要确定程序的演示目标,雪从天上落下来,要堆在地面上,堆在树上,天亮后融化……

最终定下动画要完成的三个特征:落下、堆积、融化。

程序分为夜晚和白天两个部分,夜晚雪花落下并堆积。白天,切换白天背景,停止落雪程序,开始雪花融化程序。二、 角色的选择与制作

1. 我们复制背景库中的Blue Sky作为一个新的角色,选择Blue Sky作为背景,在绘制背景中,直接将蓝天背景拖到原小猫角色里面去,再删除原小猫角色即可。

2. 为了体现白天与黑夜的区别,我们这里添加一个太阳(Sun)角色来表明是白天。

3. 添加雪花(Snowflake)角色,即可完成所有角色的选择。三、 夜晚背景的制作

落雪发生在夜晚,我们需要对原Blue Sky做修改,把它变成昏暗的夜晚。

对蓝天背景进行修改,用选择工具点击蓝色天空部分,点填充,拖动颜色亮度条,修改出夜色。

然后是绿树的部分,我们使用选择工具点击绿树时,会发现它是多个角色组合而成的,我们这里按住“Shift”键,开启多选模式,将所有绿树部分选中。选择组合,然后将轮廓修改为无轮廓,颜色修改为更深的绿色。

改完树木后,发现绿树挡住了一部分棕色的道路,选择道路,将其放最前面。四、 雪花的落下

本体隐藏,克隆体显示,我们曾经研究过克隆体数量上限问题,300片雪花做不出积雪的效果,所以当克隆体雪花落到地面后,用画笔的图章工具在原地留下印记,然后删除掉克隆体。

为了雪花更逼真,给它加上虚像特效、随机大小、一直旋转。

雪花从空中飘落时并不是垂直下落,我们给每个雪花随机的起点与落点,这样每个雪花的飘落方向就完全随机了。起点统一选择上边缘,即(-240~240,180)。落点在道路上,x坐标仍然为-240~240,y坐标为-180~-160。下落时间可以设定为随机4~8秒。五、 雪花的堆积

下雪時总有部分雪花落在树上,我们通过随机参数产生一个概率判断,让1/4的雪花落在树梢上,剩下的落在路上。

设置概率的方法,可以使用随机数。例如1/4的概率,产生1到4的随机数,判断当数字等于1时执行条件。

遇到树冠的判断使用取色器选取树的颜色作为标记。

由于树在道路上方,根据透视原理,可以理解为树离我们更远,那么树上的雪花应该更小。

树的边缘并不平整,所以落点可以有一定起伏。六、 雪花的融化

为了实现雪花的融化效果,我们需要让雪花缓慢消失,雪花由于数量较多,克隆体数量有上限(300个),所以使用图章制作,图章绘制的图案是无法编写程序的。因此只能通过其他方法影响雪花图案,给人雪花在缓慢消失的错觉。

我们这里使用一张与原背景图相同的角色(Blue Sky原图复制的角色)缓慢出现在最上层,覆盖雪花,来制作雪花融化特效。

用空格键作为信号,开始时隐身(虚像效果100),按下空格键后通知蓝天角色逐渐显示,具体程序需使用外观特效中的虚像特效(虚像效果重复减小直到0)。

蓝天角色(非背景)代码如图:七、 太阳出现动画

太阳开始时隐藏,当按下空格键后等待一会儿再慢慢从边缘移到舞台中间偏上的位置。八、 用下雪变量控制场景变化

为了让雪花白天停止飘落,所以我们需要设一个变量“下雪”,当“下雪”为“假”时通知雪花停止克隆。

总结:这个下雪动画充分利用了编程的优势,综合运用克隆、图章、随机数、概率、颜色判断等多项Scratch功能和技巧,模拟出比普通动画更自然的下雪效果,希望你能把这些技巧灵活运用到其他动画中去。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/251565.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号