鱼儿吐泡泡-Scratch动画模拟

鱼儿吐泡泡-51scratch
鱼儿吐泡泡-Scratch动画模拟
此内容为付费资源,请付费后查看
9.9
限时特惠
19.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源
已售 1

鱼儿鱼儿水中游,游来游去乐悠悠,倦了卧水草,饿了觅小虫。夏日午后的池塘中,一群鱼儿在水中嬉戏,它们一边游还一边吐泡泡,好像在和我们说话呢。

不知道你有没有仔细观察过鱼缸里的金鱼,它们一边欢快的游着,一边吐着泡泡,好不惬意。今天我们将使用Scratch编程来模拟鱼儿在水中吐泡泡的动画效果。

作品效果抢先看

先来看看作品的效果吧,如视频所示:

Scratch鱼儿吐泡泡

功能分析

在动手创作之前,需要先将要实现的效果和功能明确下来,根据作品效果预览,大致可以分为如下4点:

  1. 在舞台上放一条鱼儿和一个泡泡;
  2. 让鱼儿在水中自由的游走;
  3. 鱼儿不断吐出泡泡,同时会发出吐泡泡的音效;
  4. 让泡泡边向上浮动边消失。

Scratch编程实现

根据刚才的分析,接下来我们就使用Scratch一步一步编程实现鱼儿吐泡泡的动画效果。

1.添加舞台背景和角色

打开Scratch编程软件,将准备好的舞台背景图片和角色导入到Scratch中,如图所示:

舞台背景和角色列表
舞台背景和角色列表

2.鱼儿游动起来

首先,我们要让鱼儿在水中自由游动,这个可以通过重复执行移动指令来实现,当小鱼儿游到舞台边缘时,它就会停下来,此时可以使用碰到舞台边缘就反弹指令让鱼儿掉头继续游动。当然了,为了避免鱼儿只是单调的左右来回移动,可以设置一下鱼儿的初始方向,这样可以让鱼儿的游动看起来更自然一些,选中鱼儿角色,编写代码如下:

鱼儿在舞台上游来游去
鱼儿在舞台上游来游去

需要说明的是,这里的方向可以进行自由的调整,只要不等于90、-90、0和180就可以,同样的,移动指令中的2也是可以更改的,数字越大,则鱼儿跑的就越快。

3.克隆泡泡

接着,我们就可以添加鱼儿吐泡泡的效果了,到底要吐多少个泡泡呢?只要程序在运行,鱼儿在游动,就一直会吐泡泡,所以没有固定的个数,或者说是无限个,因此,这里必须使用克隆。可以在鱼儿角色中进行克隆,也可以在泡泡角色中进行克隆,为了体现是鱼儿在吐泡泡,这里我们选择在鱼儿角色中进行克隆,在鱼儿角色添加新的代码块如下:

克隆泡泡角色
克隆泡泡角色

注意:在克隆泡泡的过程中,为了避免过快,在这里使用了等待1秒指令,同时为了让吐泡泡的动作看起来更自然一些,避免造成机械刻板的效果。

4.让泡泡浮动起来并消失

如果此时运行程序,你根本看不到多个泡泡,这是因为泡泡始终在原地克隆自己,所有的泡泡克隆体都重叠在一起了。因此,需要对克隆体编写程序,让泡泡动起来,同时可以通过逐渐改变泡泡角色的虚像(也就是透明度),让泡泡看起来慢慢消失的效果,切换到泡泡角色,编写代码如下:

泡泡克隆体浮动并消失
泡泡克隆体浮动并消失

看起来似乎是编写好了,但是当你运行程序,仔细观察泡泡的效果,你会发现一个致命的bug,是的,泡泡并不是从鱼儿的嘴巴里吐出来的,如何解决这个讨厌的bug呢?

比较好的解决方案是借助变量,将克隆泡泡时所处的位置计算出来并保存,然后在克隆体中使用,因此,我们需要建立两个变量,分别命名为“泡泡坐标x”和“泡泡坐标y”,当鱼儿向右运动时,泡泡在鱼儿的右方,需要在鱼儿坐标的基础上增加相应步数,这里大概90步;而当鱼儿向左运动时,泡泡在鱼儿的左方,此时需要减少90步。

切换到鱼儿角色,增加代码如下:

设置泡泡坐标位置
设置泡泡坐标位置

对应的在泡泡角色中,修改移动指令,如下:

将泡泡克隆体移动到鱼嘴位置
将泡泡克隆体移动到鱼嘴位置

再次运行程序,查看效果,可以发现,无论小鱼朝哪个方向游动,泡泡始终都是从鱼儿的嘴巴里冒出来的,效果非常的棒👍。

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片