00:00
同学们好。这节课我们来解决如何让小球碰到舞台就反弹的问题。我们先来到变量栏。将舞台显示出的速度X和速度Y2个变量关掉。我们展开舞台,看一下现在的游戏效果。点击率七。点击鼠标左键。我们可以看到。小球还是贴着舞台边缘的。现在我们就来解决一下反弹的问题。首先我们在小球这个角色里。建立一个自制积木。叫做检测是否舞台反弹。
01:00
点击完成。这个积木就是用来检测小球碰到舞台是否反弹,同学们不要忘了,舞台反弹是有条件的。小球只能在碰到舞台顶部和左右两侧时反弹,在碰到舞台底部时是不能反弹的。这个自制积木要一直在开始游戏后的重复执行中反复运行。我们把它。添加到。移动小球的下面。接下来我们讲一下如何。写这个积木的定义。首先,我们要确定小球是否碰到了舞台上侧,左侧或者右侧。我们加入一个如果,那么。然后去侦测栏。
02:00
加入是否碰到了舞台边缘?选择舞台边缘。这就完成判定了吗?错了,这个舞台边缘是包括了舞台四个边。但底部这一侧我们是不要的。所以又再加入一个如果那。放到里面。判定的条件是什么呢?我们这里来判定小球是否碰到了舞台顶部。用什么办法来判定呢?可以用小球的Y坐标是否大于175来判定。在运算中添加一个大于的代码块。输入175。找到运动中的Y坐标。
03:02
放到里面。因为舞台顶部的坐标是180,保险起见,小球的外坐标只要大于175,我们就认定碰到舞台顶部了。条件成立后,这里小球要反弹了。反弹可以在变量中找到。将速度外设为。选择速度外。我们将速度Y设为一个负的速度Y,找到运算中的乘号。放入条件中。把变量里的速度外放进去。
04:02
让速度Y乘以负一。这就是原来的速度外对应的负值了。现在我们来试一下效果。点击左线。现在小球正确的反弹顶端了。不过左右两侧仍有问题。我们紧接着做如何判定小球是否碰到了舞台左右两侧。很简单,这次我们要来查看小球的X坐标。找到控制中的。如果,那么。放到里边。在找到运算中的或。在左右两边放入大鱼和小鱼。
05:05
在左边放入大鱼,在右边放入小鱼。在运动中找到X坐标。放入其中。如果小球的X坐标大于235。或X坐标小于负的235。那么就是碰到了左右两端了。这里的逻辑和碰到顶端那里是相似的。唯一值得注意的是,左侧是正数,要大于235,右侧是负数,要小于负235。如何在舞台左右两侧反弹呢?
06:00
在这里,我们要把速度X设为原来速度X的负值。点击邮件。复制一下上方的速度Y代码块。放到里面。将条件都改为速度X。我们最后来试试。大家看到我们的小球。可以在舞台上正确的反弹啊。不过现在小球还不能在底部消失,这个我们以后会做。接下来我有个作业要留给大家。请大家充分利用代码块。运用类似的方法完成小球碰到挡板反弹的代码。
07:05
今天的这节课就到这里,同学们,我们下节课再见。
我来说两句