本章项目成果展示
打开上一篇29Unity本地数据库读取进入游戏的项目,

本章要做的事情是通过状态者模式转换场景,在进入账号登陆界面前闪烁显示Logo
首先创建一个新的场景命名为StartUI

修改游戏场景名字

重命名为FightGame01

首先创建一个脚本文件夹:

首先了解一下状态模式的类图

我们创新类图中的代码

编写脚本:ISceneState.cs

cs
public class ISceneState {
//模型中场景名字
string mSceneName;
//聚合状态拥有者
protected SceneStateController mSceneController;
public string MSceneName {
get { return mSceneName; }
}
public ISceneState(string sceneName,SceneStateController controller) {
mSceneName = sceneName;
mSceneController = controller;
}
//每次进入到这个状态的时候调用
public virtual void StateStart() { }
//每次离开这个状态的时候调用
public virtual void StateEnd() { }
//被状态拥有者调用
public virtual void StateUpdate() { }
}




新建脚本:GameLoop.cs


状态模式框架搭好后 继续编写脚本:SceneStateController.cs

编写脚本:GameLoop.cs

接下来要做的事情是在注册登录界面UI显示前,加载一个Logo,由消失到显示再到消失之后进入登陆账号界面。
首先在场景中创建一个Image命名为Logo(按住Alt键让Logo铺满全屏)

将下面资源图片放进Art文件夹

将图片设置为精灵模式Sprite后拖拽绑定Logo

编写脚本:StartUIState.cs

创建一个空物体命名为GameLoop后将GameLoop.cs脚本进行绑定

运行项目 - Logo从消失到显示再到消失

我们修改脚本让其在执行完图片闪烁一次后进入登陆注册界面

运行项目 闪烁Logo后即可实现转场账号登陆界面


本篇做了数据库读取账号密码信息及注册登录游戏功能,接下来还需做以下内容:
1.单例模式框架
2.可拖动UI窗口
3.怪物集目标点巡航功能
4.隐藏怪物的生成
5.怪物I攻击范围内的主动攻击
6.掉落坐骑蛋的获取
7.异步传送转换场景
以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。
具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》
