Unity 游戏框架搭建 2019 (四十四) 关于知识库的小结

2024-05-06 12:58

本文主要是介绍Unity 游戏框架搭建 2019 (四十四) 关于知识库的小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一篇,我们完成了一个定时功能,并且接触了 Action 和委托、lambda 表达式这些概念。

到目前为止,我们的库作为知识收录这个功能来说,已经非常好用了,由于使用了 partial 关键字,所以重复的代码少了很多。而作为一个可复用的工具库来说,勉强能够应付。

通过 partial 关键字,理论上可以对已有了类,进行无限地增加示例。而我们的示例的类型呢,主要是写可独立使用的方法和 MenuItem 示例。什么叫独立使用的方法?到目前为止我们写的所有静态方法都是可以独立使用的,这些方法并不需要与其他方法或对象进行协作就可以发挥本身的价值。

什么样的方法不能独立使用呢?这种非常常见,比如资源的加载和卸载 Load/UnLoad, UI 的打开和关闭 ,事件的发送/接收/注册,这种方法都不能独立使用,而是需要和其他的方法配合使用。这种类型的方法往往都定义在一个类里,是需要进行更严格地设计的。不像我们目前写的这几个 partial 类中的方法,再增加一个方法很少要考虑之前在类中已实现的方法,我们只要保证逻辑不重复就可以了。

而在设计不可独立使用的方法呢,要保证逻辑不能重复的同时,要更多地考虑互相如何更好地协作,从方法结构、调用顺序、命名、访问权限、所在类这些都要进行严格地设计,才会得到一个合格的方法。

对开发者的要求会高很多。

我们在上一篇的定时功能,就有点这个苗头,我们的定时方法的权限是 public 类型的,由于实现需要用到 Coroutine 所以又定义了一个实现方法,用来实现 Coroutine 逻辑,而这个 Coroutine 逻辑不希望被子类和外部类访问到,所以访问权限就设置成了 private,这样才算是一个合格的方法。

而这个方法仅仅和合格而已,其实用笔者角度来看,问题非常多,比如要考虑 Coroutine 中断问题,也要考虑 MonoBehaviourSimplify 这个类的使用问题,这个类现在可以直接挂到 GameObject 上,而笔者不希望用户这样去使用 MonoBehaviourSimpleify,而是通过继承使用,要解决的话其实也很简单,使用抽象类就好了。但是这样一来,我们的上一篇文章的信息量就会很多,并且在上一篇我们是刚刚接触继承这个概念,如果一篇文章就把继承从入门到掌握再到精通都讲完,那大家吸收的效果就会差很多。所以我们还是慢慢来,罗马不是一天建成的。

总之,目前,对于读者来说,自己写一个示例或者收集笔者的示例,是没啥太大的问题了。毕竟我们已经实践了很多了。从笔者的角度来说,专栏的约定和规则已经稳定了。

从下一个示例开始呢,我们开始进行库的专项训练。

今天的内容就这些,我们下一篇再见。

转载请注明地址:凉鞋的笔记:liangxiegame.com

更多内容

  • QFramework 地址:https://github.com/liangxiegame/QFramework

  • QQ 交流群:623597263

  • Unity 进阶小班

    • 主要训练内容:
      • 框架搭建训练(第一年)
      • 跟着案例学 Shader(第一年)
      • 副业的孵化(第二年、第三年)
    • 权益、授课形式等具体详情请查看《小班产品手册》:https://liangxiegame.com/master/intro
  • 关注公众号:liangxiegame 获取第一时间更新通知及更多的免费内容。

这篇关于Unity 游戏框架搭建 2019 (四十四) 关于知识库的小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964415

相关文章

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid