第十一课 下100层地狱

今日任务:

将网络上一款同名游戏尝试在scratch中制作出来,用Xtron的上下左右键控制一个主角(可以滚动的球)左右移动,小球自由 落地式下降,木板向上的移动速度也会越来越快!这些都意味着游戏的进行会越来越难,屏幕上有记录“层数”和“速度”的提示 框,同时还会显示小球的瞬时速度、自由落体时间、快制作出来试试看你可以下到多少层?

本课重难点:

(1)小球自由落体的实现?

(2)小球移动+滚动效果?

(3)木板难度提升效果?

(4)如何避免小球碰到木板时嵌入进去的bug?

../../../_images/XDY1.png

任务拆解:

../../../_images/XDY2.png

程序分析:

(1)背景:可分为正常背景和失败背景;

(2)主角球:Xtron的上下左右键控制球的移动;如何实现球的滚动效果,并且在运功过程中如何实现球的一边滚动 一边移动的效果,这样才够真实!最重要的是如何实现小球的自由落地效果?

../../../_images/XDY3.png

(3)楼层:下方随机出现;出现后均向上移动;向上移动的速度不断增加,游戏难度因此不断提升!

(4)变量:记录所下降楼层的变量;记录楼层上升的速度提升值;记录小球每个自由落体的瞬时速度;记录小球自由落体的 分段时间。

动手操作:

第一步:搞定背景!

../../../_images/XDY4.png

背景脚本:

开始显示初始背景:

../../../_images/XDY5.png

游戏失败显示失败背景:

../../../_images/XDY6.png

第二步:搞定主角“小球”!

../../../_images/XDY7.png

小球的脚本:

在讲解小球的脚本及后续其他角色的脚本之前,先来理一下我的程序中有多少角色即将出场。

../../../_images/XDY8.png

一目了然,不用过多解释了吧?小球,之后是四个下方随机出现的木板(block1/2/3/4)!好,我们继续讲小球的脚本程序: 旋转+移动=滚动!

../../../_images/XDY9.png ../../../_images/XDY10.png

接下来,下面这些模块判断些什么呢?

../../../_images/XDY11.png ../../../_images/XDY12.png

继续向下看:

判断一:

../../../_images/XDY13.png

判断二:

../../../_images/XDY14.png

第三步:搞定木板(以其中block2为例讲解,其余的自行设计就OK了,看懂一个就行了)

../../../_images/XDY15.png

木板脚本:

前面留了一个问题,速度增加其实就是一个变量,为了增加游戏难度设定的变量,目的是让木板的移动速度越来越快!

../../../_images/XDY16.png

下面这些模块判断些什么呢?

../../../_images/XDY11.png ../../../_images/XDY12.png

判断一:

../../../_images/XDY17.png

判断二:

../../../_images/XDY18.png

第四步: 请各位自行完成其他几个木板角色的设计吧!

课后反思:

(1)本程序有个问题,也是从大鱼吃小鱼开始我一直没有完美解决的问题,小球碰到木板加一层分数,但是小球只要和木板有接触,就会不停的加分,这个问题我只能退而求其次在程序中放到了木板消失加分!大家看看有没有好的解决方法!

(2)小球碰到了左右边缘也会game over,思考一下这个问题如何解决?

(3)专业一点的书籍上有关于g和scratch步长的换算,感兴趣的亲们自行研究一下!