• Scratch 第十六课-弹珠台游戏


    十六课-弹珠台游戏

    大家好,今天我们一起做一款弹珠台scratch游戏,我们也可以叫它弹球游戏!这款游戏在刚出来的时候非常火爆。小朋友们要认真学习下!

    • 这节课的学习目标
    1. 物体碰撞如何处理转向问题。
    2. 复习键盘对角色的控制方式。
    3. 逐步了解scratch编程中,游戏设计的逻辑

    • 程序设计

    程序分析 : 这个游戏实际的角色就3个,两个挡板,其中一个是我们控制的,另一个是随机运动的,当然这个我们也可以复制几个出来,只需要稍微改下坐标即可,另一个就是球了!

    游戏玩法也比较简单,当球碰到控制的板的时候改变方向,碰到其他挡板则加分,碰到上、左、右边缘则反弹,碰到下方则失败。。为了区分边缘,我们在下方边缘处增加一个角色,当碰到这个角色的时候,则游戏失败。

    下面我们开始安排角色。

    1. 两个木板角色,大家可以从角色库选择,或者直接绘制就可以了,这个比较简单(直接使用矩形工具),改变下背景色即可完成多个了。我直接上个效果。

    1. 球的话直接从素材库选择吧,我使用的角色名是“soccer”!
    2. 设计一个底部角色,在绘制的时候,长度铺满舞台。

    下面我们开始编程:

     

    1. 首先我们先布置下舞台,布置好的效果如下:

    1. 然后我们先处理我们能控制的角色,也就是木板,木板控制比较简单,左右键控制左右移动,代码比较简单,下面代码是其中的一种实现方式,大家把两种控制方式都尝试下:

    1. 下面我们来处理球的移动,处理前我们先分析下:球碰到控制的挡板反弹,碰到其他挡板增加积分,其他挡板消失。碰到左右 ,上方边缘则反弹,碰到下面的蓝色波浪角色则失败:

    在这里我们要注意下,刚开始的时候,球肯定不能直接往下方移动,否则会造成游戏还没开始就已经结束了,这里我们采用一个指令:

    现在先让球动起来,球从中心点出发,代码如下:

    下面继续分析,球碰到我们控制的挡板(角色名:角色1),球要反弹开,这个方向是球进入的方向的折射方向,代码如下:

      仔细看下代码,为什么多了一个将Y坐标增加20的指令?小朋友们可以自己体验下。

    碰到底部角色失败。指令如下:

    1. 最后就是红色挡板(角色3)了,角色3在固定高度左右移动,碰到边缘反弹!

    当挡板碰到球(角色2)的时候,消失增加积分,隔1秒后再显示。

    这里我们引入了一个变量score,在游戏刚开始的时候,一定要把score设为0。

    以上程序运行后,我们会发现停止后,角色3就出不来了。为了每次游戏开始都让角色3显示,需要在开始的时候增加显示指令,完整代码如下:

    今天这个游戏基本就完成了,小朋友们在编程的时候,可以适当增加些难度。

    比如:当积分达到50积分的时候,出现2个球。或者当积分达到一定值的时候,球的速度就增加。大家可以尝试下,不懂的可以联系我!

    点个关注吧!

  • 相关阅读:
    concat() 、concat_ws()和group_concat()
    四、Nginx配置文件-负载均衡
    【剑指offer系列】剑指offer 03-06
    微盟股价快速飞升的背后:WOS系统将驱动长效增长
    @Transactional注解在类上还是接口上使用,哪种方式更好?
    c++提高篇——模板
    计算机毕业设计django基于python企业资产管理系统(源码+系统+mysql数据库+Lw文档)
    什么是数据描述统计分析?(Descriptive Analysis)
    css高级 使用
    怎么文字转语音真人发声?安利下面这三款软件
  • 原文地址:https://blog.csdn.net/weixin_44010641/article/details/136435796