自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(596)
  • 资源 (5)
  • 收藏
  • 关注

原创 目录与知识汇总

数学计算机原理与操作系统数据结构与算法设计模式与架构计算机网络云计算和运维Databaseweb前端Unity3DUnrealAI生产工具PMPDevOps与自动化测试C / C++JavaJavaScriptPythonC#读书...

2020-06-13 15:15:33 121

原创 计算机科学核心知识体系

原文:https://github.com/keithnull/TeachYourselfCS-CN本文档是对TeachYourselfCS内容的中文翻译,原作者为Ozan Onay和Myles Byrne。如需了解翻译相关信息或帮助改进翻译,请参见本文档结尾。This document is a Chinese translation ofTeachYourselfCS, which is written byOzan OnayandMyles Byrne. For more i...

2020-06-13 11:53:30 2304

原创 Unity 在设备上材质显示正常,但是Editor下材质显示为紫色

windows 下面bundle模式紫色图片解决运行平台还是原来的 android 或 ios, 但是 PC Editor 的渲染引擎要跟平台的一致起来Unity 在设备上材质显示正常,但是Editor下材质显示为紫色 - 简书

2022-05-16 10:15:15 242

原创 内存溢出与内存泄漏

内存溢出是什么情况?内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序.

2022-05-15 13:15:44 21

原创 游戏中的AI和数据科学

。。。。DataEngineer + SoftEngineer收集数据、报表、数据分析、产品化AI PVE研发AI测试Auto Feature起源世界 AiBotAI生成游戏内容具体示例:1. 算法:打关卡bot, 人工测,现在自动测。 推荐,AB测的提升。2. AB测试:买量的模型的优化,经济学因果推断。不同用户群的不同效果。留存的提升。3. 数据分析师 游戏机制分析:BP 优化建议,帮助策划优化增长点。奖励的力度、定价、排名榜单机制联动。设计复杂、

2022-05-15 13:04:23 484

原创 Unity在iOS/Android/Windows平台应用存储路径

游戏在Android手机上启动时无法正常进入,经查发现Application.temporaryCachePath和Application.persistentDataPath返回空字符串,这是一个在不同平台的路径问题。常用的是以下四个路径:Application.dataPathApplication.streamingAssetsPathApplication.persistentDataPathApplication.temporaryCachePathWindows:App

2022-05-09 13:54:17 44

原创 Unity编辑器扩展与本地序列化配置

编辑器扩展常用方法:using UnityEngine;using UnityEditor; public class Mybianyi : EditorWindow{ string PasswordField = ""; string m_textArea = ""; float sliders = 0; int slidera = 0; string BeginToggleGroup = "BeginToggleGroup"; bool ..

2022-05-06 19:57:24 304

原创 编程思想的演进

从上个世纪五十年代冯·诺依曼创造第一台计算机开始,一直到现在只有短短70年时间,从第一门计算机语言FORTRAN,到现在我们常用的C++,JAVA,PYTHON等,计算机语言的演进速度远超我们所使用的任何一门自然语言。从最早的面向机器,再到面向过程,到演化为现在我们所使用的面向对象。不变的是编程的宗旨,变化的是编程的思想。1 面向机器计算机是01的世界,最早的程序就是通过这种01机器码来控制计算机的,比如0000代表读取,0001代表保存等。理论上这才是世界上最快的语言,无需...

2022-05-06 09:15:09 60

原创 Unity C# using的三种用法

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/using微软官方文档,using关键字有三个主要用途:1.强制资源清理using 语句定义一个范围,在此范围的末尾将释放对象。提供可确保正确使用 IDisposable 对象的方便语法。注意使用前提:该对象必须继承了IDisposable接口,功能等同于try{}Finally{}。·2.创建别名usi..

2022-04-29 18:08:14 1522

原创 UGUI sprite editor九宫切图用法

UGUI九宫格纹理拉伸的使用,不论是游戏中的UI,还是应用中的UI,纹理九宫格拉伸都是必不可少的,因为采用这种拉伸方式,可以最大化的节省纹理资源,任意缩放图片还能保持一个不错的效果,因此在手游和app中用的较多。一般有两种用法:一、基本用法:四角保持不变,只拉伸中心区 (常用于一些纯色背景组件的拉伸填充)unity3d UGUI九宫格纹理拉伸的使用_Rains卍Soft的博客-CSDN博客_unity 九宫格二、另类用法:中心区不变,只拉伸四边(常用大背景图保持中心图形不变形,而周...

2022-04-26 14:24:32 1504

原创 C#问号运算符之 可空, 三元 和 空合并

1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。例如:string str=null; 是正确的,int i=null; 编译器就会报错。为了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?"来表示,表现形式为"T?"例如:int? 表示可空的整形,DateTime? 表示可为空的时间。T? 其实是System.Nullable(泛型结构)的缩写形式,也就意味着当你用到T?时编译器编译 时会把T?编译成System.Nullable的形.

2022-04-26 09:41:16 19

原创 Unity中的SendMessage方法

本质就是调用那个GameObject里面的Script里面的函数,可以跨语言的,例如Javascript可以调用C#的函数。如果GameObject本身有两个脚本,例如“Move1.c#”和“Move2.js”,两个脚本内有同名函数例如“DoMove()”,会两个函数都执行一次。方法名:需要接收消息gameobject挂载脚本上的方法名,无视访问权限, 能够调用private的方法 。参数:object类型,单值,多值传数组,同理接收方参数列表页应为数组。//参数注意事项:就算没有对应参数...

2022-04-14 15:25:38 192

原创 Unity C# 和 Mono简史

一般Unity游戏开发,都使用C#作为主要开发语言。虽然Unity本身支持Unity(一种Java的扩展)和Boo(一种受Python启发的语言),但是在正常生产实践中,还是会使用C#作为主要开发语言。什么是C#?C# 是微软推出的一种基于 .NET 框架的、面向对象的高级编程语言。微软在 2000 年发布了这种语言,希望借助这种语言来取代Java,更多详细的介绍可以参看C#Wiki。为什么是C#?因为C#的跨平台特性可以解决Unity引擎的跨平台支持问题。其实确切的说,跨平台的并不是C

2022-04-12 23:07:16 2079

原创 加速Unity工程C#编译

把包括插件在内的基本不会修改的代码挪到Standard Assets里就完事儿了,经常修改的代码放在外面原地不动。这样唯一的一个限制是Standard Assets里的代码无法引用外面的代码,不过我这里全是放的插件,完全没有问题...

2022-04-12 22:50:48 1732

原创 C# 判空检查 Null空值传播运算符(?.)

“空值传播运算符”,《C# 本质论》中翻译为null条件操作符。在调用值为null的方法时,运行时都会抛出一个System.NullReferenceException的异常,通常以此表明程序逻辑上存在错误。考虑到在调用成员之前进行null值检查这一模式的频率很高,C# 6.0 引入了一种更为简化的null条件操作符(null-condition operator) ?.。null条件操作符在调用方法或属性之前检查操作数是否为null,如果为null,则不执行方法组。 private bo

2022-04-02 14:28:58 116

原创 Unity插件汇总

Unity Asset Store上优质好用的47款插件——Unity开发者必备工具(适合收藏) - 知乎

2022-04-01 12:59:22 1678

原创 Unity人物动画

unity模块切换_Unity的动画图和人形动画初探_云海天狼的博客-CSDN博客

2022-04-01 09:22:40 1430

原创 Unity动画:场景元素交互IK及制作要点

动画制作要点 3DS Max中使用IK的情景还是非常多的。比如一个小章鱼,每个脚上面绑上IK,然后就可以通过脚步移动控制整条腿的运动。如果不用IK的话操作起来很麻烦而且不自然。 而FBX的格式里面也是有IK信息的。只是Unity过滤了相关的数据而已。美术在导出动画之前做这么的操作,然后动画就正常了。 1) Set up the bone structure as you please. 2) Create the animations you want, ...

2022-04-01 09:04:30 2452

原创 Unity 动画:形状混合 \ IK \ 电影纹理

不常见但可以极大地提升用户地游戏体验的三种动画:①基于变形动画的形状混合:如嘴唇和面部动画②逆向动力学:即运行期内角色的手部和脚部的定位方式③电影纹理:3D表面上作为纹理播放前期渲染完毕的视频文件1、形状混合面部动画包括 脸部变化 和 嘴唇动画,通常需要使用Blend Shape或变形动画,这一类动画效果一般通过设计人员或3D软件予以完成,并于随后导入至Unity中,在面板中激活 Import BlendShapes。针对构建过程,变形动画需要两个处理步骤:设计人员定义面板网..

2022-04-01 08:44:19 88

原创 Unity TimeLine过场动画工具

Unity TimeLine实用功能讲解_最咔酷学院的博客-CSDN博客_timeline unity

2022-03-29 12:22:49 496

原创 游戏中的镜头语言和应用

一些对3D镜头控制的学习和理解 - 知乎 [游戏美学分享]游戏中镜头语言和分镜应用 - 知乎 重构导播镜头(Directed Camera)——从视觉研究到游戏开发 - 知乎 浅谈镜头设计在游戏中的作用—把握特定瞬间的艺术 - 知乎...

2022-03-13 18:05:26 1684

原创 Unity项目技术方案Dots架构方案简介

DOTS全称是Data-Oriented Tech Stack,翻译过来就是多线程式数据导向型技术堆栈(DOTS),它由任务系统(Job System)、实体组件系统(ECS)、Burst Compiler编译器三部分组成。DOTS保证相同类型组件在内存中都是顺序排列,极大程度增加缓存的命中率,此外配合任务系统(Job System)让开发者无需头疼多线程同时访问数据需要手动加解锁的麻烦,最终加持Burst Compiler让性能飞起来。ECS、JobSystem、Burst。这三个组建是可以相互独立使

2022-03-13 16:45:03 1920

原创 URP的工作流程源码分析

URP AnalysisURP是unity推出的,用于替代传统build-in管线。该篇为阅读的笔记~URP的入口文件为UniversalRenderPiplineAsset.cs,在该文件中,进行了一系列初始化操作,核心是CreatePipeline函数,创建了渲染管线,默认渲染的render为继承至ScriptableRenderer的ForwardRenderer,初始化默认渲染管线UniversalRenderPipeline。UniversalRenderPipeline首先...

2022-03-13 16:09:45 1465

原创 游戏分为第一人称和第三人称,什么是第二人称

第一人称第三人称第二人称最简单实现第二人称的方式,和朋友打cs单挑,然后将显示器连接线交换。第一人称是自己,第三人称是除自己和对方的旁观者视角,那第二人称就是站在你对面的视角,举个例子,你正在打cs单挑,此时你是第一人称,那么对手就是第二人称,你可以想象一下你在对手的视角看着自己在对岸蹦哒,关键你是操作那个在蹦哒的……但第二人称无法实现,假设在场有你以及三个对手,那么这三个对手的视角都是第二人称,取决于你在和谁对线,印象中古墓丽影有一部作品中,劳拉进入一个地下遗...

2022-03-13 12:08:49 2021

原创 UGUI Text文本控件富文本

学习UGUI的Text控件,用于显示文本!. 基本属性就不再啰嗦了!Alignment: 文字以 水平和垂直 对齐方式,Horizontal Overflow: 水平 Wrap: 文字大小和数量超过Text边框宽度,不再显示 Overflow: 文字超过了边框宽度,还是显示出来Vertical Overflow:垂直 Truncate: 截断,文字垂直超过Text边框高度,不在显示 Overflow: 文...

2022-03-12 14:37:23 186

原创 UGUI Text 文本调整字间距,并适配对齐方式

UGUI的Text组件只提供了行间距的调整,而无法调整字与字之间的间隔.UGUI Text 组件中的每个文字,是由两个网格组成,因而调整字间距,可以通过修改每个字的网格顶点位置来实现。上文提到的博文中,只实现了从左向右以第一个字的坐标为起点,依次增加字符宽度和间距,作为偏移量计算出后续每个字的位置。但是右对齐时,文本位置需要从每行最后一个字作为起始位置,依次向左计算偏移量;居中对齐时,需要以第一个字作为起始位置,依次向右计算偏移量,但需要额外减去半行长度,时整行居中。半行长度的计算,需要考虑字符数的奇偶

2022-03-12 14:20:07 108

原创 多线程、异步导致的时序逻辑Bug

在实际开发程序的过程中,经常会遇到一些由于时序的先后顺序,导致产生一些奇奇怪怪的问题,很多是由于多线程、异步等导致的时序逻辑Bug, 比如:消息A先到达,消息B后到达,消息A处理完成后,再处理消息B,程序就正常运行(即达到我们我们预想的结果);然而如果消息A没有处理完,就开始处理消息B,程序可能会出现我们不期望的结果。 为了避免上面问题的出现,我们可以采取将同一类消息按先后到达顺序放在同一个队列中,然后有同一个线程来处理,这样就能保证按照时序处理。...

2022-03-11 09:41:21 288

原创 C#数据处理LINQ语言集成查询

(Language Intergated Query)也就是语言集成查询为什么要使用LINQ?在工程中我们少不了要定义类或者结构去储存数据,这些数据将被临时地储存在内存中,现在我们想要对其完成一些类似于查找、过滤等等常见的任务的时候,我们该如何去做呢?  我们可以自己写代码去对集合中的每个对象进行遍历,检查变量的每个字段看其是否满足条件。这样的故事已经发生太多次了,微软怎么可能容忍在C#里发生如此弱智的事情呢?于是,C#的设计者决定在C#中集成查询的语法,以最大限度地减少程序员书写类似代码的情况。

2022-03-10 23:18:23 41

原创 C#语法糖 可变参数 params

适用场景同一个词语可以添加多个近义词传递一个一维数组类型的参数当集合参数个数不确定的时候是使用可变参数的最佳场景举例其它string.Format也是基于params实现的,毕竟Format具体的参数依赖于前面声明的字符串的占位符个数。在翻看相关代码的时候还发现了一个ParamsArray这个类,用来包装params可变参数,简单的来说就是便于快速操作params注意:params修饰在参数的前面且参数类型得是一维数组类型params修饰的参数默认是可

2022-03-10 09:20:52 692

原创 TCP详解

TCP知识体系为什么需要 TCP 协议?TCP 工作在哪一层?TCP 是一个工作在传输层的可靠数据传输的服务,它能确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。什么是 TCP ?TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。 面向连接:一定是「一对一」才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的; 可靠的:无论的网络链路中出现了怎样的链路变化,TCP 都可以保证一个报文一定能够到达接收端;

2022-03-10 09:07:57 33

原创 C# List.Sort排序

C#中,List.Sort() 不仅为我们提供了默认的排序方法,还为我们提供了4种自定义排序的方法,通过默认排序方法,我们无需重写任何Sort()方法的实现代码,就能对单参数类型的List数据进行单一规则的排序,如果通过对这些方法进行改进我们可以轻松做到对多参数、多规则的复杂排序。默认排序排序Sort,倒序Reverse//默认是元素第一个字母按升序list.Sort();//将List里面元素顺序反转list.Reverse();//从第二个元素开始,反转4个元素//结果list.

2022-03-08 09:03:19 1348

原创 图形学与渲染分类目录

一:图形学基本原理和底层细节如 代数、几何、矩阵等数学知识, 物理学、信号处理等教材:计算机图形学(美 Peter Shirley)二:现代图形学渲染API,如OpenGL, Direct3D, Java3D教材:

2022-03-07 09:14:04 29

原创 UGUI 屏幕坐标转UI坐标方法 – ScreenPointToLocalPointInRectangle

UI坐标:指的是RectTransform组件的anchoredPosition字段UI元素则很少使用世界坐标去表示,主要用RectTransform本地坐标表示,涉及锚点、轴心点。我们在Unity中获取的鼠标的坐标,就是屏幕坐标! 屏幕坐标和世界坐标不是一个东西,屏幕坐标和UI坐标不是一个东西!Unity官方提供了一个方法,让我们可以很简单的把屏幕坐标 转换成UI坐标!这个方法就是:RectTransformUtility.ScreenPointToLocalPointInRect

2022-02-20 17:45:02 1617

原创 Shader的合并同类项

在数学中我们学习过:把多项式中的同类项合并成一项叫做合并同类项。同理,提取Shader的相似部分,把多个Shader合并成一个就叫做Shader的合并,也叫合并Shader,偶尔也会引用数学的名词来称呼他为Shader的合并同类项。Shader的合并方式有很多,根据不同的合并技能和方法可以划分为不同的派系。今天优先介绍一种不太常见、但又很实用的派系,往下看。在Shader的合并方法中,MaterialPropertyDrawer(属性定义)可以说是自成一派,但又与其他派系有着千丝万缕的关系,今天我们

2022-02-18 10:16:02 37

原创 GPU渲染过程中的Early-Z技术

传统的渲染管线是:应用阶段(CPU) ->几何阶段(顶点着色器) -> 光栅化阶段(片元着色器) -> 各种测试(深度测试,透明度测试,模板测试等) -> 颜色缓冲区(buffer) 一系列测试是在执行过顶点/片元着色器后才执行的,也就是说就算我们指定了一些测试条件来剔除掉一部分像素,但是这些像素还是经过了计算,这部分计算是没有必要的。Over Draw就是这样产生的。early-z是放在片段着色器之前,所以大致的渲染管线可以描述成:...

2022-02-18 09:58:46 370

原创 Render Pipeline渲染管线概述

渲染(Render)定义渲染在电脑绘图中是指软件从模型生成图像的过程,通俗讲就是在计算机里面给虚拟世界"拍照"。渲染主要分为两种,一种是预渲染(pre-rendering),它的计算强度很大,通常用于电影制作;另一种是实时渲染(real-time rendering),多用于三维游戏,并且依靠显卡完成渲染过程.渲染管线渲染是一个非常复杂的过程,它需要从一系列的顶点、纹理等信息出发,把这些信息最终转换成一张人眼可以看到的图像,在这个过程中,通常是需要CPU和GPU密切配合,渲染管线具体的实现细节会

2022-02-18 09:44:30 1148

原创 25种打断 Unity 渲染合批的原因

Additional Vertex Streams— 对象使用MeshRenderer.additionalVertexStreams设定了额外的顶点信息流。 Deferred Objects on Different Lighting Layers— 该物件位于另一不同的光照层中。 Deferred Objects Split by Shadow Distance— 两个物体中有一个在阴影距离范围内而另一个不是。 Different Combined Meshe...

2022-02-18 09:00:52 165

原创 IEnumerator , IEnumerable 枚举器接口

IEnumerator是枚举器的意思,IEnumerable是可枚举的意思。这两个都是个接口foreach是一种语法糖,用来简化对可枚举元素的遍历代码。而被遍历的类通过实现IEnumerable接口和一个相关的IEnumerator枚举器来实现遍历功能。public class MyList : IEnumerable{ public int[] _data = new int[10] { 1, 5, 7, 9, 7, 8, 7, 8, 7, 4 }; public int

2022-02-17 10:30:11 92

原创 ECS双端C#游戏框架ET6:客户端的初始运行指南

搭建启动环境,启动服务器和客户端。服务端:客户端:打开范例场景init.unity,场景层级如下:init.cs首先加载UILoading界面,其加载流程大致是这样启动流程时序图:加载初始界面的几个步骤:...

2022-02-11 06:37:54 1785

原创 C# foreach的用法

在foreach语句中有两个限制,第一不能修改枚举成员,其次不要对集合进行删除操作。也就是如下两种方式都是错误的。 // Use "foreach" to loop an arraylist foreach( int i in arrInt ) { i++;//Can't be compiled Debug.WriteLine( i.ToString() ); } //...

2022-02-10 18:52:13 352

现代游戏开发工作流.pptx

程序部 码农们的家乡 程序猿的部落 头发的战俘集中营 先说这个整个部门啊 程序游戏程序员 需要学习什么语言呢 这要看是什么游戏 如果是页游 一般需要AS3或者是HTML6 如果是手游平台 那一般是JAVA 如果是PC和游戏机 那一般是C++ 我主要说的是另一个 我认为这个部门的所有职位都必须要非常了解游戏 可能很多人觉得 只要代码写得好就好啦 诶不是啊 这个部门的人懂不懂游戏 对游戏的整体品质有极大的影响 因为如果这个部门的人对游戏不熟悉 他们将很难抓住一些细节的东西 设计部或者技美还是会提出细节的需求 当然这个前提是这些人也有大量游戏经验 如果像国内很多团队那样 这个需求就算交货了 但就算他们能够提出更细节的需求 第一 如果每个细节都得说那么清楚 那工作量和沟通成本会呈指数放大 第二 这里面还是很多的东西是别人从表面看不出来的 甚至根本不知道怎么提出需求 比如如果这个图标拖出去的时候 这个技能刚好没了呢 比如这是个武器技能 刚好这个武器突然坏了呢 或者晚点把这个图标拖到了正在cd的技能上的 又或者把他的背包格子呢 又或者拖出来的的时候没有放左键情况下按了右键 我原本右键是可以触发技能的呢 等等这些情况到底应该发生什么事情 一个熟悉和不熟悉游戏的程序员 考虑到的是完全不同的情况 有些情况QA部门能够发现出来 但有些就很难发现 而这个时候就会留下BUG 同理 在战斗系统 升级系统等等各个系统都有这样的例子 比如战神一个按键回收斧头 这能提出一大堆问题 斧头在飞回来的路上碰到小屁孩怎么办 玩家松手了怎么办 放技能了怎么办 换武器了怎么办 播放过场了怎么办 等等一大堆问题 虽然如果出了BUG总会被抓出来 但是一批好的程序员 如果在一开始就能理清这些逻辑 那无疑让游戏整体品质大大提高 所以一个好的游戏程序员 不能什么事都靠设计提需求 靠QA反馈BUG 自己也需要经验和判断 这决定了游戏的成品品质 而想要成为这样的游戏员 只会写代码可不够啊 还需要大量的游戏经验以及 对这些细微之处的观察 观察好的游戏是怎么处理这些奇葩情节 思考他们是怎么编写这些复杂逻辑 方能成为一个好的程序员 那现在说说这个部门各个职位

2020-02-23

unity3d逻辑程序员开发面试题.doc

unity开发面试题目 Unity3d逻辑程序员面试题 姓名: 时间(30分钟)请认真作答,字迹不要潦草 基础题: 1.C# 值类型和引用类型的区别?什么是拆装箱,如何避免 现有一Dictionary testMap ,如何删除key 小于1的元素?

2020-01-01

手游核心技术实战.pdf

举例来讲,Unity3d流行使很多C++阵营的人一夜之间用上C#,Cocos2d-x的流行又使人离不开C++。苹果的手机漫天都是的时候,Object-C也就成为了很多开发者必须要会的东西。所以,选择的时候,首要的不是语言,而是你选择用什么东西做游戏。语言只是其中的一部分,不能本末倒置。 在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途

2020-02-23

Deforming_Pages_of_3D_Electronic_Books_sketches_01.pdf

u3D翻书效果 Deforming_Pages_of_3D_Electronic_Books_sketches_01.pdf

2020-05-08

LitJson.dll

游戏网络通信的时候,需要传输很多信息,之前都是把各种信息拼接成字符串,然后接收到字符串后在个顺序分割得到信息,但是当信息一多的时候就比较麻烦了.就学习了下json来传输,通过键值对来进行设置信息和解析信息就方便多了,LitJson是一个封装好的C#的Json处理dll,很小只有几十K.就用他进行处理

2020-02-23

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除