微信小程序制作工具gamemaker实现的小游戏------弹球打砖块

前言

本游戏是使用微信小程序制作工具微信小游戏官网gamemaker来完成的。

在开始创作之前,我们先来看一下该游戏的演示视频

弹球打砖块演示视频

该游戏的玩法十分简单, 鼠标控制挡板位置, 单击发射弹球, 弹球碰到挡板和墙壁边缘会反弹, 打到砖块会让其消失并反弹, 当所有砖块被打完游戏结束.

那么让我们一起进入游戏的创作之旅

素材准备

gamemaker制作工具为我们提供了丰富的素材库以及背景图, 我们只需要点击添加素材,找到相应的游戏主题即可添加想要的素材和背景.

该游戏主要用到的素材有:  挡板, 弹球, 砖块, 计数数字, 背景图片.  所选素材的没有外形要求, 根据自己喜好选择类似素材即可.

值得一提的是, 砖块一共添加了8个不同颜色的造型, 这样在游戏中就能随机生成不同的砖块

逻辑设计

挡板

该游戏中需要定位手指(或鼠标)的轨迹来控制挡板左右,  我们只需每时每刻将挡板的横坐标设为手指的横坐标即可实现跟随移动的效果

计数数字

在该游戏中, 我们用一个数字充当计数器, 显示游戏过程中剩余的砖块数量, 此时我们需要定义一个变量来存储数据, 我们只需在右侧的数据面板中新建一个全局变量即可. 该游戏中需要用到的变量如图所示 : 弹球数量作为当挡板没接住弹球时恢复弹球的标志 ,行数和列数表示方块拼接的墙面大小, 列计数是拼接墙面时的换行标志.

将计数数字的值时刻修改为变量方块计数的值, 即可实现计数效果

            

背景

我们给背景设计了一个抖动功能来模拟弹球和砖块的碰撞, 当弹球碰到砖块时, 背景就会触发抖动. 为了实现这一逻辑, 我们首先需要定义一个通知为背景抖动, 这个通知类似于一个信号量, 当弹球碰到砖块时发送通知, 背景收到通知则触发抖动. 该游戏中类似的通知还有发射, 拼接墙面, 游戏结束三个信号, 后面将不再赘述

当收到通知时执行背景抖动逻辑,实现非常简单. 定义一个局部变量计数器遍历循环, 计数器为偶数时背景向右偏移一个随机数, 计数器为奇数时背景向左偏移一个随机数, 循环13次后背景回归原位, 从而形成抖动的效果.

砖块

砖块需要实现的是在场景启动时拼接成一个墙面, 并在被弹球碰到时消失且通知背景抖动. 首先墙面的行数列数都由自己设定, 我设置的是5*5的墙面, 拼接的过程也十分简单, 从初始位置开始, 每克隆一个砖块就将其横行移动一个砖块长度的位移, 顺便用一个随机数选择砖块的造型, 这样保证拼接出来的墙面是五颜六色的. 当砖块拼完一行就需要换行, 我们用一个局部变量列计数来记录每行的砖块数, 当一行拼完后就将克隆的砖块移动到下一行的开头位置, 并重置列计数. 这个逻辑即可实现墙面拼接.

当砖块碰到弹球, 通知背景抖动, 必须要先让砖块隐藏自己并等待0.2秒才能删除克隆体, 如果直接删除的话弹球就无法实现碰到砖块后反弹, 而会一直撞下去把沿路的砖块全部撞没. 相碰同时将砖块计数减一, 当砖块计数为0时则重启游戏.

弹球

弹球要实现的逻辑有: 手指点击时发射弹球, 当弹球碰到挡板时, 改变自己的发射角度, 以起到反弹效果. 弹球的初始移动加速度为10, 当弹球碰到砖块和屏幕边缘时,会增加其移动加速度 ,以加快游戏进程, 避免在墙壁之间小角度来回反弹. 当挡板没有接到弹球使其掉落下边缘时, 将弹球删除并克隆一个新的弹球将其移动到挡板的位置.

 

对于新克隆出的弹球,将其发射角度设定为一个随机数, 并移动到挡板正上方. 当弹球发射则让其启动移动加速度的步数. 我们还需让其碰到边缘能够实现反弹, 我们只需打开右侧的属性面板, 在弹球的管理行为处开启反弹, 让其拥有反弹行为, 就能设定弹球碰到边缘和砖块时发生反弹

结语

大家可以扫码体验

以上就是弹球打砖块游戏的基本制作过程, 大家可以根据自己的喜好进行改编, 比如更换背景和素材, 添加音效, 设置不同关卡等等. 谢谢观看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值