『功能项目』状态模式转换场景【30】

本章项目成果展示

打开上一篇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站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6

相关推荐
kimloner4 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
阿松爱学习5 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
半亩码田5 小时前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
FPGA小徐5 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
淡海水6 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
胖纸不争11 小时前
嫌桌面 Agent 太重,我“自己”写了一个
ai·c#·net core
当青春邂逅吉米多维奇15 小时前
C#图解教程(第5版) 同步方法
开发语言·c#
波力海苔夹心脆67515 小时前
C# 机器视觉实战:单相机引导机械手精准贴合,从拍照、偏差计算(平移+旋转)到坐标补偿全解
开发语言·经验分享·数码相机·c#·视觉检测·.net
星恒随风16 小时前
Linux基础IO万字详解:从文件描述符fd到重定向、FILE缓冲机制及MiniShell升级
linux·运维·笔记·学习·状态模式
Behavior17 小时前
国内下载使用 Unity 6000 踩坑点总结
c#·unity3d·游戏开发