- 博客(20)
- 资源 (4)
- 收藏
- 关注
原创 The AssetBundle ‘xxx‘ can‘t be loaded because another AssetBundle with the same
The AssetBundle 'journeyweekend3_2.asset' can't be loaded because another AssetBundle with the same files is already loaded。 项目在调用AssetBundle.LoadFromFileAsync接口时报了上面的错误. 上面这种错误提示,网上很多说法是不同目录下存在同一个assetbundle文件,两个都加载时会报上面的错误,但是我在项目中确...
2020-08-27 16:35:02
7245
转载 深入浅出垃圾回收算法
这篇文章介绍几种垃圾回收算法,以使用我们更好的理解内存回收的原理、性能以及优缺点。术语为了后面叙述方便,首先明确以下几个名词的含义:Collector,用于进行垃圾回收的线程 Mutators,应用程序的线程,可以修改 heap MS,mark-sweep 算法的简写 MC,mark-compact 算法的简写 RC,reference-counting 的简写 liveness,一个对象的可到达性MS 基本流程首先来回顾下追踪类 GC 最基本的mark-and-sweep ..
2020-08-17 02:02:40
510
原创 FlatBuffers学习笔记三——解析二进制流文件
上一篇文章讲了如何生成二进制流文件,本篇文章来讲一下如何解析FlatBuffers生成的二进制流文件,已达到我们游戏中使用数据的目的。 其实解析数据是最简单的了,主要代码段如下: public static void Decode() { FileStream fileStream = new FileStream("./Assets/DataFlatBuffer/Monster.bytes", FileMode.Open, FileAcce...
2020-06-27 18:31:53
1292
1
原创 FlatBuffers学习笔记二——生成二进制流文件
很早之前我已经讲了如何生成表格解析代码点这里,本次讲一下如何将表格数据生成二进制流。一、添加FlatBuffers插件 如果我们要使用FlatBuffers技术,那么必须向工程中添加FlatBuffers插件,步骤很简单,我们新建一个Unity3D的空工程,然后在Asset目录下新建Plugins文件夹,并且将之前生成的FlatBuffers.dll文件放到此目录下即可。二、设计数据表格 我们做开发游戏项目时,经常要为策划设计表格,然后由策划...
2020-06-27 18:21:23
2010
原创 OpenGL初探-Win10+VS2017+freeglut+glew+gltools开发环境搭建
最近在研究OpenGL,主要看的书是《OpenGL超级宝典(第5版)》,学习编程自然少不了从环境搭建开始,然后写一个Demo,运行成功即告开篇成功,本篇文章将使用书本中的2.5章节《第一个三角形》的Demo为例进行说明。一、准备 学习OpenGL,那么需要事先下载几个库,因为他们是基础库,我们写的有关OpenGL程序都是基于这几个库的API,分别是reeglut、glew、gltools,缺一不可,我在学习的时候没用使用编译好的lib文件,而是下载的源代码,自己编译...
2020-06-14 22:32:36
1768
1
转载 游戏开发中常用的两种同步模式:状态同步和帧同步
一、同步所谓同步,就是要多个客户端表现效果是一致的,例如我们玩王者荣耀的时候,需要十个玩家的屏幕显示的英雄位置完全相同、技能释放角度、释放时间完全相同,这个就是同步。就好像很多个人一起跳街舞齐舞,每个人的动作都要保持一致。而对于大多数游戏,不仅客户端的表现要一致,而且需要客户端和服务端的数据是一致的。所以,同步是一个网络游戏概念,只有网络游戏才需要同步,而单机游戏是不需要同步的。二、状态同步和帧同步的区别最大的区别就是战斗核心逻辑写在哪,状态同步的战斗逻辑在服务端,帧同步的战斗逻辑在客户端.
2020-06-13 18:10:44
2355
转载 小议C#引用类型对象在循环引用时会不会内存泄漏
循环引用指的是A引用了B,而B又引用了A。在写代码的时候,都难免会这样写:地图引用了战斗单位,战斗单位又引用了地图。。如图:(来源于国外大神的解释)当A没有再被其他类引用,则A,B,C都应该被垃圾回收。如果判断该对象是否需要被回收的依据是基于引用计数的,那上面代码就会是这样:B被C和A引了,引用计数为2,C被B引了,引用计数为1,这样内存就泄露了。所以C#的GC并没有用引用计数。GC有一些“根”,对象都挂在上面。从“根”往其子结点进行遍历,就可以标注出哪些对象是被使用的。A对象没有被..
2020-05-15 23:11:34
1316
原创 Unity里面Resources.Load之后为什么需要Instantiate?
一个是加载到内存里,一个是实例化到场景中 这是unity的一个缺陷,本来一个gameobject加载之后,只需要addToScene就可以了,但它却选择做一次copy,然后在这个操作内附带addToScene。 它这样做的理由无非是,运行修改物体后,原来资源的那一份不会变化,还可以再次使用。所以就强制每次用必须复制。然而,gameobject复制其实是一个相当耗时的操作,而且必须占用主线程,成为了一个重要的卡顿点。 预设(Prefab)是资源...
2020-05-15 21:58:06
1593
原创 VS Code隐藏Unity工程中meta文件以及将后缀为lua.txt或者lua.bytes识别为lua的方法
现在我们使用Unity开发手游时,Unity会生成大量的meta文件,以及Unity无法识别后缀为.lua的文件,所以一般将.lua文件再加一个后缀.txt或者.bytes来解决Unity无法识别的问题。编辑lua代码时很多人都喜欢使用VS Code,即微软大名鼎鼎的Visual Studio Code工具,此为很轻量级编辑器,并且提供了大量的插件供程序员使用,非常受程序员的欢迎。...
2019-04-02 22:18:38
2784
2
原创 Unity中GameObject.SetActive函数和Component.enabled属性的区别
我们在Unity项目里对某个GameObject进行隐藏时,用gameObject.SetActive(false)可以达到目的,也可以对enabled属性赋值false达到同样的目的,那么这两者究竟有何区别呢,今天我特意写了一个Demo进行了验证。 为了方便验证,我特意写了一个继承自Image的自定义Class,在主要的生命周期函数里输出Log来进行验证,这里我使用...
2019-02-27 16:53:23
9953
3
原创 FlatBuffers学习笔记一——初识FlatBuffers
一、文件下载1.下载flatc.exe工具和FlatBuffers源码,链接请点我;2.用Visual Studio打开源码/net/FlatBuffers/FlatBuffers.csproj项目,编译输出类库文件FlatBuffers.dll;3.查看官方说明文档请点我;4.官方C#示例代码可见源码/tests/FlatBuffers.Test工程二、工具介绍1....
2019-02-25 00:30:39
7039
原创 MODEM AT指令全集
MODEM AT指令全集说明1.基本指令 A/ 重复执行上次指令,主要应用于重拨上次的电话号码。 +++跳离(Escape)指令,由数据模式跳到指令模式。 AT 指令 本指令由AT或at开头,在AT之后,字串将决定执行何种指令。 A应答指令 ATA MODEM收到A指令,立即摘机,进入应答状态(Answer Mode)。 Bn 规定 MODEM 操
2009-12-24 15:21:00
2116
1
原创 VC窗口启动隐藏时闪烁问题解决方法(原创)
VC窗口启动隐藏时闪烁问题解决方法(原创) 最近由于项目需要,做了一个VC托盘程序,让该程序在后台执行,当程序启动时我需要将窗口隐藏,但总是在隐藏前会闪烁一下再隐藏,于是我跟踪代码到MFC类库里终于发现问题给解决了。 下面都是针对创建的单文档程序而讲的,因为我创建的是单文档工程,其它的类型工程我没试过,多文档工程应该也可以用下面的方法,好了,开始讲解了。
2009-12-24 15:16:00
1930
原创 vs.net应用程序图标以及制作安装程序快捷方式图标设置
我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢? 我现在要讲的图标设置有两种情况,一种是应用程序界面左上角显示的图标,另一种是安装程序后快捷方式显示的图标,lets go!vs.net环境下应用程序中界面左上角显示的图标设置: 方法
2008-11-28 13:46:00
3013
原创 vs.net环境如何生成dll和exe文件
今天发现一个奇怪的问题,我注意到同是windows应用程序的引用,但是.net环境编译程序之后,有的引用编译后生成的是dll文件(搭档做的模块),而有的引用编译后生成的是exe文件(我自己做的模块),我觉得这个应该是可以设置的,带着疑问我请教了我的搭档。 问他之后,果真是可以设置的,略讲如下。 vs.net环境如何生成dll和exe文件的设置:
2008-11-28 11:39:00
1808
1
原创 vs.net打包程序时设置自动检测环境并安装.net framwork
vs.net打包程序或者制作安装程序时自动检测环境并安装.net framwork的设置方法之前我看过文档也做过,但是过一段时间又忘了,现在终于又找到方法了,还是把这个方法写下来吧,方便自己也方便大家将来查询用。 vs.net打包或者制作安装程序时进行自动检测环境并安装.net framwork的设置方法: 1. 新建一个“安装和部署”的项
2008-11-28 11:37:00
1413
原创 与DataTable有关的数据导入导出
最近的项目要频繁将数据导入导出,有将DataTable中的数据导出为txt或者csv文本文件以及EXCEL文件的,也有将txt或者csv文本文件以及EXCEL文件的数据读取到DataTable中的,在这里我把代码写出来供大家参考谈论一下吧。 将DataTable中的数据导出到文本文件,代码如下: private void dataTable
2008-11-05 12:40:00
1124
原创 查询数据库名表名字段名的SQL语句
最近项目需要用到如下知识,自我感觉挺有用的,拿出来晒一晒吧~~~1. C#中获取SQL Server服务器上的所有数据库名称,方法如下: 先连接到master库中,执行 select name from master..sysdatabases 就可以了。 sp_helpdb也可以列出数据名,但不是全部,sp_helpdb是会根据当前用户角色找出相应的
2008-11-05 12:34:00
2885
原创 C#执行exe文件时与主程序同步问题
我们在用C#调用执行exe文件时有个细节问题特别容易忽视,我先将把代码粘贴过来讲一讲吧,如下: 事先说明一下,resultFilePath是一个txt文本文件路径,用来将exe执行后的数据保存到resultFilePath中;tempFilePath 是原始数据文件路径,也是txt文本文件,就是exe程序需要处理的数据文件;而exeFilePath是一个ex
2008-11-05 12:21:00
3108
VC++2008实现按下F1键打开chm帮助文档源程序
2010-02-21
读取硬盘物理序列号_GetHD_ID
2010-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人