用微信小游戏制作工具制作复刻飞机大战

1.简介

使用工具

微信小游戏制作工具

任务

先完成微信小游戏制作工具上的新手指南,然后在得到的初代飞机大战游戏上升级

2.初代飞机大战实现

初代飞机大战实现了一些最基本的逻辑,比如背景设置,战机能随意拖拽、发射子弹,敌机能随机出现等等。

以下将介绍各种功能的实现方法

背景设置

在资源管理器中点击添加素材,并选择喜欢的背景,导入后就自动设为背景啦

战机能随意拖拽

从素材库中添加战机后,选中战机,点击添加事件,选择场景启动时,从控制板块中选出设置自己能向任意方向拖拽的模块

战机能发射子弹

首先要从素材库中添加子弹,选中子弹,添加下图逻辑。此处用到了逻辑板块中的重复执行和等待模块

这里运用到了克隆体,因为子弹是不断发出的,所以我们要使用克隆体,并对其添加以下逻辑。

点击添加事件,选择当克隆体启动时模块。

以下逻辑组件所代表的意思为,每次克隆出新的子弹,先移到战机的位置,保证子弹是从战机中发射出去的,然后重复执行Y坐标自增,是模拟子弹发射出去的运动轨迹。

随机出现的敌机

敌机的逻辑和子弹基本相似,但是随机出现时敌机特有的,以下是随机出现的逻辑。

Y=700是上边界,所以只需先将敌机移动到随机一个位置,再让敌机从Y=900(即上边界之上)出现,就可以模拟敌机随机出现啦。

其他功能

当然,一些诸如子弹碰到敌机,子弹和敌机都会消失的逻辑是必需的,逻辑如下(只展示敌机的)

项目展示

至此,一个简单版的飞机大战就做好啦

3.升级版飞机大战

很显然,简单版飞机大战还有很多应有的逻辑是没有实现的,比如得分计算、战机碰到敌机会扣血等等,升级版飞机大战正是要添加这些功能。

添加游戏开始页和结束页

点击新建场景,建立开始页和结束页

并且新建立两个通知,用于场景间切换,并将之前用的“当场景启动时”模块替换为“当收到通知”模块(例子如下)

然后在开始页和结束页设置两个按钮,用于场景跳转

开始页

结束页

注意:这里有一个小坑,为什么开始页和结束页使用的模块不一样呢,如果结束页同样使用“切换场景到开始页”会怎么样?

出现上述问题,就是因为这样切换,游戏是没有重启的,之前的记录会被保存,这样显然不符合这个游戏的实现逻辑。

得分计算

添加一个全局变量“得分”

从素材库中添加数字并选中,为该精灵定义以下逻辑

战机生命值

战机将有3点生命,这样就可以玩久一点(手残党福音)

先添加一个全局变量“战机生命值”

在素材库中找到“生命”并添加,一共添加三个,并放到屏幕中

此外,为三个爱心都添加上第二种造型,表示扣血(下图第二个造型)

并添加如下逻辑,实现造型变换(例子为第三个生命值的逻辑)

战机碰到敌机会扣血,并有无敌时间

战机碰到敌机后,战机生命值减1

碰到敌机后,战机将闪烁并进入无敌状态,重新登场

其他

在简单版飞机大战中,对于子弹和敌机的克隆体是没有做边界处理的,即子弹超出上边界、敌机超出下边界是不会删除的。游戏进行长时间后,会导致克隆体过多。

所以,需添加一下逻辑,进行边界处理

子弹

敌机

项目展示

4.总结

这次设计飞机大战是我在游戏编程道路上迈出的第一步,这款游戏实现逻辑虽然简单,但是在某些bug上还是花了不少时间思考,这或许就是游戏编程的魅力吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值