Scratch

状课网-少儿编程网课专业平台

Scratch 跟我学scratch编程:海底世界(二)

发布时间:2021-11-25 12:00:16 浏览 0

  上一讲讲了如果让角色跟着鼠标到处跑,并且讲了角色碰到边缘应该怎么处理。其中用到了循环这个算法。

编程任务

  《今天我们的主要任务是增加一个角色。一条鲨鱼,在海里游荡,我们的小鱼千万不能碰到鲨鱼,碰到了就会被鲨鱼吃掉,游戏也就结束了。》

跟我学scratch编程:海底世界(二)

  (题外话:scratch的强大之处在于,虽然看似一个简单的图形编程,却引入了事件、线程、协调、同步的概念,比如键盘上的某个键被按下,是否碰到某个角色或者某种颜色等。多线程可以让计算机同时执行相互独立的程序片段。程序中不同的角色之间通过发送广播和接受广播来同步和协调。有了这些功能,我们就可以通过Scratch编出非常强大的游戏来。

  增加一个鲨鱼,在Scratch里面叫增加了一个角色,在编程里叫增加一个线程,如果是写小说的话,那就是增加一条故事线。)

  在增加鲨鱼之前,咱们先做一个小特效来完善程序效果,既然在海里,背景里还有气泡,那我们是不是可以增加点气泡的声音来让小游戏更生动呢?Scratch的强大又体现出来了,可以很容易的给背景和角色来增加声音特效。声音可以从声音库里选择,也可以自行录制。我们就把这个气泡的声音加到背景里面吧。

程序脚本(增加背景音效):

  1:选择背景。然后选择右上角的《声音》页。

  2:点击声音小图标,就可以在声音库里选择你想要的声音,让我们选择bubbles,然后点击一下下面的播放键,就听到了一连串的水声。

跟我学scratch编程:海底世界(二)

  3:然后选择《脚本》页,来对背景编程。

跟我学scratch编程:海底世界(二)

 

  这段程序CC哥就不解释了,但是请大家注意一点,声音指令里有两个,一个是播放声音直到播放完毕,另一个是播放声音。这两个指令有什么区别?请小朋友们自己试一试,看看有什么区别。确实有区别哦。

  来执行一下听听效果吧,是不是生动了很多。

  让我们进入正题,把鲨鱼加进来。

程序脚本(增加鲨鱼角色):

  1:从角色库里添加鲨鱼。

  2:这段脚本跟小鱼的脚本有点接近,CC哥也不解释了。

跟我学scratch编程:海底世界(二)

 

  (移动指令有点不同的是,中间有个小白椭圆框,里面有个数字,缺省的是10,意思是每次移动10步。通过改写这个数字就可以调节角色移动的速度,小朋友们试试看,选择一个你觉得合适的速度)

  再执行一下看看,很完美哦,鲨鱼在水里左右游来游去。但是有个问题,小鱼碰到鲨鱼后直接交叉而过,没有任何影响,我们希望做到的是小鱼一旦碰到鲨鱼那就游戏结束,也就是所有的行动都要停止,不管是鲨鱼,小鱼还有背景的气泡声音,也就是所有的进程都要同时终止才行。

程序脚本(碰到小猫终止程序)

碰撞检测

  本脚本设计到了一个游戏里最重要内容:,想想打飞机游戏,飞机撞到了敌机,或者被子弹击中。跑酷游戏,主角跑着碰到了障碍物,等等等等,所以碰撞检测几乎遍布所有游戏。

  那么检测是否碰撞就是一条最基本的判断语句了。所以<如果...那么...>就是碰撞检测的最核心算法了。

跟我学scratch编程:海底世界(二)

  <碰到...?>是一条侦测指令,注意这个指令被设计成了长菱形,还带了一个?号,形状正好放到如果后面的长菱形空格里。大家记住这种形状的指令都属于条件指令,都是配合判断指令来一起使用的。

  然后我们把这段脚本放到鲨鱼的执行脚本中,让鲨鱼一旦碰到小鱼就马上停止。

跟我学scratch编程:海底世界(二)

  然后再执行整个程序看看。是不是很有意思,程序开始后,鲨鱼就凶狠的左右游动,然后等小鱼一旦碰到鲨鱼,游戏画面马上就静止下来。

跟我学scratch编程:海底世界(二)

  今天的讲座就到这里,给大家留个作业,海里不能只有一条鲨鱼,至少有三条,而且每个鲨鱼都向不同的方向移动,而且其中一条鲨鱼一直追着小鱼走。通过这个作业,小朋友可以好好掌握以下运动类的各种指令。

  下一讲,我们会把海星加进来,让海星随机出现在海里,我们控制着鲨鱼不但要去吃海星,还要躲避鲨鱼的追击。每吃到一个海星,小鱼就得一分,等得到10分,就算游戏胜利。大家可以先动脑子想想这个海星的程序脚本应该怎么设计,会用到什么算法。 

  文章来源:跟我学scratch编程

本文链接:https://www.ascratch.com/news/17610.html

上一篇:跟我学scratch编程:海底世界(一) 下一篇:返回列表