Scratch

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

Scratch 跟我学scratch编程:基础系列——打靶

发布时间:2021-11-26 11:04:14 浏览 0

  今天CC哥收到了一个小粉丝的留言,告诉我自从海底世界之后,跨度比较大,小朋友学不会了。这个怪CC哥,自从海底世界后,CC哥迷上了一些scratch的很多有意思的算法和技巧,忽略了Scratch的基础课。从今天起,CC哥会重新把基础系列再好好讲讲,确保小朋友能学会。谢谢小朋友的建议哦。

  ———— / 正式开讲 / ————

  小朋友让我讲一下打靶,确切讲,CC哥也不知道打靶是一个什么游戏,那就让CC哥今天跟小朋友一起来天马行空的设计一个打靶小游戏,看看怎么才好玩。

  第一步:打靶要有个靶子,靶子怎么画都行,CC哥找了一下自带的角色库,好像没有靶子。难不住CC哥,CC哥在角色库里发现了半个靶子,Rainbow! 把它复制一下,翻个个不就是另一半靶子了。CC哥很佩服自己的机智。

跟我学scratch编程:基础系列——打靶

跟我学scratch编程:基础系列——打靶

  先用鼠标拉个框选中角色,然后ctrl-v复制到旁边,然后注意利用右上角的翻转将复制过来的彩虹翻转一下,再移过来,为了拼接完美,可以用键盘的上下左右的键进行微调。(注意中间的圆心是透明的,你可以先将图形转换成位图模式后把中心的透明部分涂上颜色)

  第二步:有了靶子,还得有枪吧,不过画个枪有点困难,还是画个准星容易些。这个之前讲过了,画直线的时候要按着Shift键,这样画的直。画圆的时候按着shift键画出来的就是空心圆。

跟我学scratch编程:基础系列——打靶

  有了靶子有了枪就可以编程了,等一下,先加个背景,这样好看些。

跟我学scratch编程:基础系列——打靶

 

感觉这个背景好阴森,就它了。

  现在开始编程:

  首先靶不能是固定的,应该动来动去,这样才有难度,那怎么运动呢?利用咱们学过的知识。先框定一个范围,也就是别让角色随机跑到边界之外去。然后让靶子随机移动到任意的位置上。

跟我学scratch编程:基础系列——打靶

跟我学scratch编程:基础系列——打靶

  注意,每个角色都应该在写代码之前先考虑初始化的代码。比如位置,大小,颜色,造型,是否显示等等。如果这些角色特征值在程序中会发生变化的,都应该给一个初始值,虽然有时候不一定非要设置,但是还是应该养成这样的好习惯。在这个程序里CC哥只是设置了一下角色的位置和大小。

  靶子动来动去,那准星应该怎么办,准星当然是我们来控制了,最方便的控制就是让准星跟着我们的鼠标走。

跟我学scratch编程:基础系列——打靶

跟我学scratch编程:基础系列——打靶

  好了,指针跟着我们的鼠标指针走了。

  瞄准有了,而且是打移动靶,那么怎么叫开枪呢?按下鼠标就算是开枪了。

跟我学scratch编程:基础系列——打靶

  这个比较简单,就是在循环里加一条判断语句,必须满足两个条件,鼠标键被按下,同时还必须碰到靶子。为了增加点效果,我们可以在按下鼠标之后打中靶子再发出点声音。(注意,要用播放声音直到完毕,而不是播放声音,这两个的区别CC哥之前讲过了,如果你用播放声音,你就会发现每次你按下鼠标,就会听到啪啪两声枪响了,小朋友想想为什么。)

  CC哥有点懒,大家可以自己在网上去下载枪声的素材,CC哥在素材库里随便挑了一个Snap的声音,有点像,同时CC哥编辑了一下这个声音,就是把声音切掉了一部分。你们也可以用Scratch自带的声音编辑工具对声音进行剪切。

跟我学scratch编程:基础系列——打靶

  这个程序基本上就算做完了。

  小朋友们可以自己往下完善,比如加上个记分器,每打中一下就得一分,或者是增加特效,每打中靶子,靶子就会四分五裂。

  CC哥把这两段代码写了一下,增加了点效果,还特意做了个靶子裂开的造型。

跟我学scratch编程:基础系列——打靶

跟我学scratch编程:基础系列——打靶

  为了增加效果,CC哥还用了之前讲过的虚像的技巧,让裂开的靶子逐渐虚化掉。看看程序效果。

跟我学scratch编程:基础系列——打靶

  那是不是可以再增加难度呢?可以,你没有每次在击中靶心之后,靶子变小一点点。或者每次击中之后靶子跑的更快了。或者是每次击中后,靶子消失掉,从另外一个点随机出现。看到没有游戏设计主要是想象力。

跟我学scratch编程:基础系列——打靶

跟我学scratch编程:基础系列——打靶

  CC哥又完善了一下程序,而且还增加了没打中靶子之后说一句没打中,还要扣一分。

跟我学scratch编程:基础系列——打靶

  游戏做到这种地步还想怎么玩呢?CC哥觉得还不尽兴,这个打靶有个毛病,只要碰到靶子就算打中了,就得一分,CC哥以前打靶可不是这样的,打靶是有环数的,打中靶心是10环,离靶心越远环数越低。这样才好玩,但是怎么做呢?

  这一下就不是基础版了,难度增大了。因为我们用的判断是否打中取决于判断两个角色是否碰到一起,所以根本无法区分到底打中的靶子的那个位置,这该怎么办呢?小朋友想到没有?其实有一个简单办法,我们可以检测准星碰到了靶子的哪个颜色上,如果是中心的颜色就是10环,碰到哪个颜色就是对应的环数,问题好像解决了?还没有,准星其实很大,并不是一个点,这个十字圆环准星不论哪个位置碰到靶心都算是碰到,所以没办法检测。那该怎么办呢?

  有办法,CC哥另外增加一个角色来取代准星,增加的角色就是个小点。

跟我学scratch编程:基础系列——打靶

  然后用这个小点来判断到底击中了靶子的哪个位置就好了。而这个小点的虚像CC哥设置成100,那么就看不到了。而原先的十字准星的角色,CC哥用一段跟随代码,让它始终跟随在小点上。充当准星显示。这样是不是就很完美了。

跟我学scratch编程:基础系列——打靶

  原先十字准星的代码换成这个

  把原来准星的代码换到这个小点角色上,再将判断部分细化,这是一段CC哥做的根据颜色来判断得了几环,小朋友自己看看吧,无数个判断套在一起显得有点晕,需要慢慢看。

跟我学scratch编程:基础系列——打靶

  这个程序是应粉丝小朋友的要求给大家讲的,CC哥也是想到哪里就做到哪里,讲到哪里。天马行空,把之前讲过的一些小技巧也用了一些。

  希望小朋友能从这个打靶的小游戏学到一些方法了。
 

  文章来源:跟我学scratch编程

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

上一篇:跟我学scratch编程:游戏特效的小技巧 下一篇:返回列表