导出 UnityPackage 功能到这里要告一段落了,相信认真看的童鞋都有收获。笔者在写教程之前纠结了很久。到底是先给出一坨工具代码,然后再逐个讲解比较好,还是一篇一个知识点比较好。后来想通了。工具和知识点都要同时写。也就诞生了这个系列的教程,这对笔者来说是一个挑战。

在 框架搭建 2017 年版本,采用的就是一篇文章一个小工具。而到了 2018 年版本,自己的内容变多了,所以一篇文章会讲好多东西。大家读起来内容会比较深一点,一篇文章大概要读个半个小时。再后来觉得一篇文章读半个小时这件事对笔者和读者都有点难度。笔者写一篇文章要准备很久,而读者读一篇文章也要花很多时间,读者的学习效果也不一定好。从这时候笔者开始思考一个问题,如何让自己高产并且让读者的压力小一点。

答案就是这个系列教程所呈现的方式,笔者也比较喜欢这种比较轻松的方式。

我们的约定

事实上,文章读到这里,我们之间有了一个简单的约定(笔者和读者之间)。在第一篇的环境搭建的时候,笔者把示例放在了 QFramework 这个目录下,在这篇之后的示例也是如此,所以这就是一个约定。笔者和读者之间约定好了将所有的本教程的示例都放在 QFramework 下。

除此之外还有一点,就是大家在自己练习时候的要做的步骤,导出和导入。导出的部分是希望读者在多个项目之间或者在公司和家里之间切换的时候不会导致冲突。为了解决这个冲突所以,导出的部分包含了导出文件的命名。是按照日期和小时来命名的,这样读者在学习时很少会造成冲突。这个算是文件命名规则,也就是一个小小的规则。这也算是我们的约定范畴的。这部分规则集成到导出工具里了,不用大家再花费时间去思考如何给文件命名这件事了。

每个示例的命名目前都是按照数字加上功能进行命名的,这里没有限定一定要英文,因为 Unity 支持中文,而中文对我们以中文为母语的国人来说更友好一些。命名格式为: 数字.功能。

除了命名,导出部分还包含一个特定的步骤,每次写完示例就进行一次导出,以便及时备份,导出的文件呢,可以在家和公司或者多个项目之间进行切换,并不需要为每个示例进行一个项目的创建。

除了以上比较明显的约定之外,其实还有一些隐藏的要注意的事情,如果是在公司的项目进行学习的时候不要影响项目的编译打包,所以代码都要加上一个命名空间,教程推荐是用 QFramework,因为这个教程是以 QFramework 的迭代演进为原型的。这个专栏最终产出的代码会越来越趋近于最新版本的 QFramework。而为了兼顾可读性和项目风险,所以我们的编辑器脚本并没有放在每个示例的 Editor 目录下,而是选择了在脚本上加上 UnityEditor 宏。这部分在之前的文章里也是简单提了一下。

列出以上这点的原因是希望大家知道笔者做得每件事情的用意,并且呢这些内容都是和框架搭建相关的。只要理解了这些事情的用意,大家就不会觉得遵循这些无聊的约定和规则没有意义了。

大家遵循了这些约定和规则,理论上我们可以写无数个小示例了,除非达到磁盘空间的极限,或者文件数量多到无法运行 Unity ,在写个几十个这样的小示例没问题。

假如每个小示例算是一个游戏的功能或者业务,那么我们在写几十个类似的功能或者业务也没问题。

所以架构早就开始了。

自己收集知识点

有了以上的规则和约定,大家在收集本教程的知识点的同时,也可以收集自己所学的知识,只要按照我们的规则和约定来就好。笔者给出的知识点不可能包含所有在工作中要到的知识点,也不可能是比较初级基础的知识点,而是在对于搭建框架用到的知识点,或者是笔者自己觉得比较重要的知识点,但是大家最好是把教程的知识点都收集起来并掌握。

今天内容就这些,说了一堆理论的东西,我们接下来接着一个个做小示例。

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

更多内容

Unity 游戏框架搭建 2019 (八) 关于导出 UnityPackage 功能的小结的更多相关文章

  1. Unity 游戏框架搭建 2019 (九~十二) 第一章小结&第二章简介&第八个示例

    第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示 ...

  2. Unity 游戏框架搭建 2019 (十八~二十) 概率函数 & GameObject 显示、隐藏简化 & 第二章 小结与快速复习

    在笔者刚做项目的时候,遇到了一个需求.第一个项目是一个跑酷游戏,而跑酷游戏是需要一条一条跑道拼接成的.每个跑道的长度是固定的,而怪物的出现位置也是在跑道上固定好的.那么怪物出现的概率决定一部分关卡的难 ...

  3. Unity 游戏框架搭建 2019 (二十七、二十八)弃用的代码警告解决&弃用的代码删除

    在前两篇,我们把所有的示例重头到尾整理了一遍. 当前的状态如下: 要做的事情: (完成) 备份:导出文件,并取一个合理的名字. 遗留问题: (完成) 第八个示例与之前的示例代码重复,功能重复. (完成 ...

  4. Unity 游戏框架搭建 2019 (三十六~三十八) partial与public

    在上一篇,我们把菜单的顺序从头到尾整理了一遍.在整理菜单顺序的过程中,记录了一个要做的事情. 要做的事情: (完成) 备份:导出文件,并取一个合理的名字. 整理完菜单顺序后,学习新的知识,解决随着示例 ...

  5. Unity 游戏框架搭建 2019 (四十八/四十九) MonoBehaviourSimplify 中的消息策略完善&关于发送事件的简单封装

    MonoBehaviourSimplify 中的消息策略完善 在上一篇,笔者说,MonoBehaviourSimplify 中的消息策略还有一些小问题.我们在这篇试着解决一下. 先贴出来代码: usi ...

  6. Unity 游戏框架搭建 2019 (十三~十五) 接下来要学什么?& 第九个示例

    在之前的两篇中,我们使用 public 静态方法对之前的内容进行了一个抽取,有了 public 静态方法这个工具,我们的学习行为也发生了一点变化. 在没使用 public 关键字之前呢,每一个示例仅仅 ...

  7. Unity 游戏框架搭建 2019 (二十一、二十二) 第三章简介&整理前的准备

    整理前的准备 到目前为止,我们积攒了很多示例了,并且每个示例也都贯彻了最的约定和规则. 在上一篇的小结也说了一个比较新的东西:编程体验优化. 在之前我们还积攒了一个问题:代码重复问题. 我们可是忍住整 ...

  8. Unity 游戏框架搭建 2019 (二十三) 备份与版本号&危险的操作

    先列出上一篇的总结: 要做的事情: 备份:导出文件,并取一个合理的名字. 遗留问题: 第八个示例与之前的示例代码重复,功能重复. 约定和规则: 每个示例在 QFramework 目录下创建一个文件夹, ...

  9. Unity 游戏框架搭建 2019 (二十五) 类的第一个作用 与 Obselete 属性

    在上一篇我们整理到了第七个示例,我们今天再接着往下整理.我们来看第八个示例: #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; ...

随机推荐

  1. Vacant Seat(Atcoder-C-交互式题目)

    C - Vacant Seat Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement This i ...

  2. JavaScript闭包、Object对象

    JavaScript闭包 定义:闭包指一个拥有许多变量和绑定这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. function a(){ var i=0; function ...

  3. 如何在实际项目中使用PageHelper分页插件

    PageHelper是一个分页插件,能够简单快速的帮助开发人员完成常见的分页功能,你只需要简单的使用两行代码就可以完成一个分页效果- 最近做一个科创项目,使用Maven+SSM的环境,有分页的功能,于 ...

  4. hiho一下:Beautiful String

    hiho一下:Beautiful String 记不清这是 hiho一下第几周的题目了,题目不难,不过对于练习编程,训练思维很有帮助.况且当时笔者处于学习算法的早期, 所以也希望刚接触算法的同学能多去 ...

  5. 想清楚再入!VR硬件创业能“要你命”

    每一次跨时代新产品的出现,总会让科技行业疯狂一阵儿,十年前是智能手机,今天自然是VR.自2015年开始,VR火的越来越让人欣喜,让人兴奋,更让人越来越看不清,越来越害怕.数不清的大小品牌义无反顾的杀入 ...

  6. 《深入理解 Java 虚拟机》读书笔记:类文件结构

    正文 一.无关性的基石 1.两种无关性 平台无关性: Java 程序的运行不受计算机平台的限制,"一次编写,到处运行". 语言无关性: Java 虚拟机只与 Class 文件关联, ...

  7. 滑动表层div时 禁止底层滑动

    $(".container").bind("touchstart", function (events) { startX = events.originalE ...

  8. 【Git】按照git提交ID导出修改的代码

    #!/bin/bash IFS=$'\n' #conf start commid id startCommitId=030cd2bf4e3694fe3a3b6f069556c4ea91a9858d l ...

  9. 93-time模块

    目录 time模块 一.time模块 1.1 时间戳 1.2 格式化时间 1.3 结构化时间 1.4 不同格式时间之间的转换 1.5 其它用法 time模块 一.time模块 import time ...

  10. 54-with管理文件操作上下文

    目录 with管理文件操作上下文 with管理文件操作上下文 之前我们使用open()方法操作文件,但是open打开文件后我们还需要手动释放文件对操作系统的占用.其实我们可以更方便的打开文件,即Pyt ...