零、教程目录
使用Unity 2019制作仿微信小游戏飞机大战教程已完结。
文章目录如下:
《第一篇:开始游戏界面》
《第二篇:搭建基础游戏框架》
《第三篇:战斗界面UI》
《第四篇:主角飞机序列帧动画》
《第五篇:主角飞机的飞行控制》
《第六篇:根据配置随机生成敌机》
《第七篇:主角飞机碰撞与爆炸》
《第八篇:主角飞机开炮》
《第九篇:敌机受击与爆炸》
《第十篇:敌机血量与得分》
《第十一篇:核弹掉落与全屏炸机》
《第十二篇:敌机开炮》
《第十三篇:游戏暂停、结束与重新开始》
一、前言
嗨,大家好,我是新发。相信很多人玩过微信小游戏经典的飞机大战,如下:
想重温或体验微信这款经典的飞机大战的同学可以点这里:https://gamemaker.weixin.qq.com/ide#/
在网上已经有一些人已经出了Unity
的制作教程,但是比较陈旧,里面使用了已经弃用的组件和写法,用了很陈旧的NGUI
版本,如果使用Unity 2019
或以上版本打开会各种报错,对新入门Unity
的同学不大友好。
于是,我决定写一个全新的教程:《使用Unity2019制作仿微信小游戏飞机大战》,会使用最新的写法,并且使用尽量简洁的设计与代码来完成。
本教程的工程已上传到Github
,感兴趣的同学自行下载学习。
喜欢的同学记得给个星星~
Github
地址:https://github.com/linxinfa/UnityAircraftFight
对Unity
游戏开发有任何问题的,都欢迎在评论区留言,我都会看到的,并会进行认真解答,希望能帮助到想学Unity
开发的同学,共勉。
二、本篇目标
主角飞机序列帧动画。
本篇的效果:
三、导入图片资源
将主角飞机序列帧图片资源导入Unity
工程中。第1、2张是正常飞行状态的序列帧图,第3、4、5、6张是飞机爆炸的序列帧图。
如下:
四、序列帧动画创建
我们要创建序列帧动画,所以先创建一个Animations
文件夹用来存放动画文件。
选中第1、2两张图拖动到场景中。
此时会询问你保存动画文件,将其保存为PlayerNormal.anim
,存放在Animations
文件夹中。
此时可以看到场景中显示了主角飞机aircraft_1
,并且生成了动画文件:aircraft_1.controller
、PlayerNormal.anim
。
将动画控制器aircraft_1.controller
重命名为Player.controller
,将场景中的节点aircraft_1
重命名为Player
,并保存为预设Player.prefab
,存放到Resources/Player
文件夹中。
同理,将爆炸序列帧图制作成动画PlayerExplode.anim
。
只留原来的Player.controller
文件,如下:
五、动画状态机
关于Animator
更详细的教程,可以参见我之前写的这篇文章:《Unity动画状态机Animator使用》。
1、添加动画到状态机中
双击打开Player.controller
,此时会打开Animator
窗口。
可以看到,动画状态机中,只有一个PlayerNormal
,我们需要把PlayerExplode
拖进来。
2、添加动画过渡
添加一个从PlayerNormal
到PlayerExplode
的过渡。
3、添加变量
飞机从正常状态过渡到爆炸状态需要添加一个条件判断,而条件判断需要根据变量来判断,所以我们需要先添加一个变量。
点击Paramenters
标签页,点击+
号,选择Bool
,即可添加一个Bool
类型的变量。
变量名重命名为explode
,默认值为false
。
4、设置过渡条件
如下,设置过渡条件为:explode
为true
时。
六、运行测试
运行Unity
,测试效果如下:
此时,把explode
勾选为true
,就会过渡到爆炸动画状态。
七、下篇预告
主角飞机的飞行控制。