友情提示:380元/半年,儿童学编程,就上码丁实验室。
在上一节课里我们顺利的让小球发射出来了,可是遗留了一个问题,就是在小球发射后,却跟着鼠标在移动,那么我们应该如何修复这个bug呢?
问题就在“跟踪鼠标”的自定义模块中,把原来的“重复执行”换成“重复执行直到”,直到小球的状态为1时,小球的坐标就不再设置为鼠标的坐标。
创建砖块角色
这节课我们重点讲的是如何创建砖块。
首先我们在角色库中找到一个可以作为砖块的角色。
选择了Button3作为砖块后,我们把它的名字改为“砖块”,并且调整它的大小,为什么要调整“砖块”的大小呢?因为我们希望砖块最后是均匀的分布在屏幕上,而不是出现左右不对称的情况。
这里我们为什么把长宽设置为58*26呢?宽度58是因为我们考虑到屏幕的长度是480,然后我们打算在横向放入8块砖块,所以58*8=464,然后480-464=16,16/8=2,刚好足够让我们给每个砖块间距设置为2。
那么,如果我们设置砖块宽度为59,它的间隔则会为1,这样感觉会太过密集,所以58是一个不错的选择。
通过以上的计算方式,我们可以了解到,制作一个游戏,是需要考虑到很多的细节问题,而且往往还离不开数学。
设置好砖块长宽后,我们需要设置砖块的中心位置,不然砖块出现在舞台上就会出现偏差。
克隆自己
如何添加大量的砖块呢?很多同学遇到这个问题时,首先想到的就是不停的手动去一个一个复制,并且放到固定的位置。这种想法虽然不能说是错误的,但是至少效率是非常低的。
我们应该使用的是Scratch给我们提供的“克隆”模块,这个模块在我们入门班里已经出现过很多次了,那我们应该如何克隆自己呢?
先给大家看看我们实现这个效果的代码:
这里我们添加一个“排列砖块”的模块。
并且每一行,我们需要8个砖块,宽度是58,每个间隔是2,所以我们在每一个克隆自己后,就往右边移动60,这样一来,就可以把砖块平均的放置到舞台上方。
好了,现在我们需要完成的另一个事情,就是在程序运行时,把砖块放置在左上角(坐标-210, 125)的位置上。
紧接着下一步就是要完善“排列砖块”模块,在目前只出现一行的基础上,额外在增加三行。那么,我们应该如何增加呢?
-
在“排列砖块”模块中,加入重复执行4次。
-
每次重复执行的时候,都把x坐标移动到-210,y坐标则在原来的基础上增加26(因为每个砖块高26)。
现在砖块就可以按照我们的想法出现在舞台上了,可是,感觉砖块全是蓝色的,好像不够美观,如果想做出下图中的效果,我们应该怎么操作比较好呢?
如何让砖块的颜色更丰富?这个答案我们留在下一节课上。
下一节课,我们会利用物理知识角度,速度和速率来实现小球的发射和反弹功能。