ET篇:个人笔记汇总
ET系列教程视频
B站视频教程
ETBook学习笔记
ETBook笔记汇总
FairyGUI学习笔记
ET使用FairyGUI开发的完整工作流
基于FGUI的小地图制作
ET 5.0学习笔记
运行master
master项目结构梳理
master客户端初始化流程
master服务端初始化流程
master消息机制
ET 6.0学习笔记
ET 6.0学习笔记
ET6.0接入ILRuntime
ET 7.0学习笔记
ET7+FariyGUI+huatuo+luban+yooasset接入教程
ET 斗地主学习笔记
运行斗地主
斗地主的资源工作流
ET 其他笔记
ETTask和ETVoid相关知识
ET中那些千万不能踩的坑
ET&&FGUI接入xasset流程
ET篇:斗地主的资源工作流
有了master的学习经验,斗地主的学习将不会太多精细化,更多细节大家可以自行查看,本系列文章旨在帮助大家理解整个开发流程
资源划分策略
先来到Asset下的Bundles文件夹,这里是游戏内用到的所有的资源,都被打成ab包,正式发布时将会删除,从资源服务器下载文件
Independent
Code 包含热更新模块的dll文件
Config 包含客户端的配置文件(连接配置,所用到的玩家,敌人等数据结构) UI
Landlords/Altas 包含游戏内用到的所有图集
Landlords/Content 玩家正式开局游戏内的个人信息
Landlords/HandCard 玩家手牌UI
Landlords/LandlordsEnd 游戏结束界面
Landlords/Interaction 玩家的正式游戏内操作界面(出牌,不要,抢地主,不抢等)
Landlords/LandlordsLobby 游戏大厅
Landlords/LandlordsLogin 登录界面
Landlords/LandlordsRoom 正式游戏界面UI
Landlords ...
ET篇:运行斗地主Demo
环境准备:
下载斗地主Demo
https://github.com/Viagi/LandlordsCore.git
准备2017.4.0版本的Unity
https://unity3d.com/cn/get-unity/download/archive
下载并配置MongoDB以及Studio 3T
MongoDB地址:****https://www.mongodb.com/download-center/community
选择Custom
我是在D盘新建了MongoDB文件夹来作为安装目录
这个可视化工具看个人喜好,我这里没有安装
找到电脑上的cmd.exe
复制一份到MongoDB安装目录的bin文件夹下面
打开刚刚复制的cmd.exe
执行以下命令(_dbpath后面的路径为你的MongoDB安装路径下的的data文件夹路径)
1mongod -dbpath D:\MongoDB\data
然后他可能会这样
打开浏览器,输入** http://localhost:27017/如果显示如下信息,表示连接成功**
Studio 3T的下载
https://s ...
ET篇:ETVoid和void,ETTask和Task的区别与使用时机
在学习ET的过程中,我们经常看到ETVoid和ETTask的身影
比如
1234567891011121314151617181920/// <summary>/// 异步加载assetbundle/// </summary>/// <param name="assetBundleName"></param>/// <returns></returns>public async ETTask LoadBundleAsync(string assetBundleName){ assetBundleName = assetBundleName.ToLower(); string[] dependencies = AssetBundleHelper.GetSortedDependencies(assetBundleName); // Log.Debug($"-----------dep load {assetBundleName} dep: & ...
ET篇:基于FGUI的小地图制作
前言
小地图开发对于我们来说是再常见不过的需求了,单用Unity中的UGUI来说倒也方便,但是用FGUI又如何呢?
正式开始
FGUI资源的搭建
注意小地图图片要用装载器来包装,不然他将会是不可触摸的,小地图宽高我们设置为200,大地图我们设置大小为100
然后导出到Unity
FGUI坐标系统
http://www.fairygui.com/guide/unity/transform.html
小地图到大地图的坐标映射
落实到代码就是
12345678910111213141516 public override void Start(FUI5V5Map self) {//为小地图图片添加点击事件 self.SmallMapSprite.onRightClick.Add(this.AnyEventHandler); } void AnyEventHandler(EventContext context) { //Log.Info("点击了小地图"); ...
ET篇:master客户端初始化流程的介绍
要学习一个Demo,不能漫无目的的乱看,看到哪是哪,要有条理,我习惯于从程序入口开始
进入Init场景
发现貌似只有一个Init脚本发挥着作用
那我们就进入Init脚本
这个便是入口了,他调用了StartAsync()函数,至于为什么后面加上Coroutine()(Coroutine是个空函数,并没有什么具体的作用)
熊猫大大说是为了防止这种情况(好吧。。。)
** 接下来我一步一步的解读Init函数里面的语句**
12 //把所有的异步回调都放到主线程执行SynchronizationContext.SetSynchronizationContext(OneThreadSynchronizationContext.Instance);
这个如果不理解的,应该去看看我前面的ETBook笔记
1234 //使当前游戏物体不会被销毁DontDestroyOnLoad(gameObject);//添加ETModel.dll,并解析维护当中的特性Game.EventSystem.Add(DLLType.Model, typeof(Init).Assembly);
第一句没什么好说的
我们 ...
ET篇:master服务端初始化流程的介绍
讲过master客户端的框架初始化,再来说一下服务端的初始化流程吧,因为很多客户端代码在服务端是通用的,所以理解起来也不算困难,就像这样
先来到程序入口
然后就是框架的初始化了(因为很多细节在客户端那篇讲过了,所以就不在这赘述了,内部实现是一样的)
12345678910111213 //添加Model.dll到字典维护Game.EventSystem.Add(DLLType.Model, typeof(Game).Assembly);//添加Hotfix.dll到字典维护Game.EventSystem.Add(DLLType.Hotfix, DllHelper.GetHotfixAssembly());//添加并获取设置组件的引用Options options = Game.Scene.AddComponent<OptionComponent, string[]>(args).Options;//添加并获取初始配置的组件的引用StartConfig startConfig = Game.Scene.AddComponent<StartConfigCompone ...
ET篇:master项目结构梳理
我发现先把项目结构做个梳理有利于后面的学习,所以就整理了这篇笔记
由于我能力有限,可能有些地方理解的不对,恳请各路大大指正,感激不尽
使用Rider编译器打开项目,并把项目视图调整为Solution
下面是更加详细的部分
1.Book
没看过ET Book的小伙伴应该去看看,写的非常好,这些是示例代码,不在本篇笔记范围内
2.Client
ET客户端代码
Unity.Editor
里面是ET客户端所有的编辑器拓展工具,以后开发的时候我们会经常用到
AstarPathfindingProject:A*插件的编辑器拓展
BuildEditor:一键打包工具
ComponentViewEditor:Component可视化工具
ExcelExporterEditor:Excel导表工具
GlobalConfigEditor:全局配置工具
Helper:编辑器拓展工具中常用的辅助函数
ILRuntimeHelper:ILRuntime一键绑定代码
Protoc2CSEditor:从protoc一键生成cs代码
ReferenceCollectorEditor:引用收集工具
Rsyn ...
ET篇:运行master的Demo
环境:
Rider 2018.3.0
ET Master branch
Unity 2018.3.1f1
源码下载
建议大家使用master
https://github.com/egametang/ET.git
环境配置
下载.NET Core2.2和.NET Framework 4.7.2
https://dotnet.microsoft.com/download
其实这个也不是绝对的,主要是ET更新的很快,并且也经常用到新的语法糖,所以大家见机行事~
好了,基本的环境配置和准备工作已经做好了,可以运行Demo了
运行Demo
这时候打开
启动
然后回到Unity,运行场景
随便输入账号密码,进入游戏,然后就看到这个寻路Demo了
ET的教程先告一段落,过阵子我会和大家一起学习 (绝对不鸽!!!)
计算机网络重点知识整理
计算机网络概述
计算机网络的概念
定义
一些互连的、独立自治的计算机集合。最重要的功能是连通性和资源共享
分类
从网络的作用范围进行分类 广域网 WAN (Wide Area Network) 局域网 LAN (Local Area Network) 城域网 MAN (Metropolitan Area Network) 个人区域网 PAN (Personal Area Network) 从网络的使用者进行分类 公用网 (public network) 专用网 (private network) 接入网 AN (Access Network)
计算机网络的性能指标
基础前置知识
比特(bit)意思是一个二进制数字(0或1)。 B为字节(Byte),b为比特(bit),一字节为8比特,即1B = 8b。 网络技术中的数率指的是数据的传送速率,当数据率较高时,常常在bit/s前面加上字母,比如k = 10310^3103,M = 10610^6106,G = 10910^9109,T = 101210^{12}1012等。 注意区分网络传输和文件系统中的数据后缀字母。比如一个1 ...