自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (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 3919

转载 深入浅出垃圾回收算法

这篇文章介绍几种垃圾回收算法,以使用我们更好的理解内存回收的原理、性能以及优缺点。术语为了后面叙述方便,首先明确以下几个名词的含义:Collector,用于进行垃圾回收的线程 Mutators,应用程序的线程,可以修改 heap MS,mark-sweep 算法的简写 MC,mark-compact 算法的简写 RC,reference-counting 的简写 liveness,一个对象的可到达性MS 基本流程首先来回顾下追踪类 GC 最基本的mark-and-sweep ..

2020-08-17 02:02:40 245

原创 FlatBuffers学习笔记三——解析二进制流文件

上一篇文章讲了如何生成二进制流文件,本篇文章来讲一下如何解析FlatBuffers生成的二进制流文件,已达到我们游戏中使用数据的目的。 其实解析数据是最简单的了,主要代码段如下: public static void Decode() { FileStream fileStream = new FileStream("./Assets/DataFlatBuffer/Monster.bytes", FileMode.Open, FileAcce...

2020-06-27 18:31:53 775 1

原创 FlatBuffers学习笔记二——生成二进制流文件

很早之前我已经讲了如何生成表格解析代码点这里,本次讲一下如何将表格数据生成二进制流。一、添加FlatBuffers插件 如果我们要使用FlatBuffers技术,那么必须向工程中添加FlatBuffers插件,步骤很简单,我们新建一个Unity3D的空工程,然后在Asset目录下新建Plugins文件夹,并且将之前生成的FlatBuffers.dll文件放到此目录下即可。二、设计数据表格 我们做开发游戏项目时,经常要为策划设计表格,然后由策划...

2020-06-27 18:21:23 1288

原创 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 989 1

转载 游戏开发中常用的两种同步模式:状态同步和帧同步

一、同步所谓同步,就是要多个客户端表现效果是一致的,例如我们玩王者荣耀的时候,需要十个玩家的屏幕显示的英雄位置完全相同、技能释放角度、释放时间完全相同,这个就是同步。就好像很多个人一起跳街舞齐舞,每个人的动作都要保持一致。而对于大多数游戏,不仅客户端的表现要一致,而且需要客户端和服务端的数据是一致的。所以,同步是一个网络游戏概念,只有网络游戏才需要同步,而单机游戏是不需要同步的。二、状态同步和帧同步的区别最大的区别就是战斗核心逻辑写在哪,状态同步的战斗逻辑在服务端,帧同步的战斗逻辑在客户端.

2020-06-13 18:10:44 1885

转载 小议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 584

原创 Unity里面Resources.Load之后为什么需要Instantiate?

一个是加载到内存里,一个是实例化到场景中 这是unity的一个缺陷,本来一个gameobject加载之后,只需要addToScene就可以了,但它却选择做一次copy,然后在这个操作内附带addToScene。 它这样做的理由无非是,运行修改物体后,原来资源的那一份不会变化,还可以再次使用。所以就强制每次用必须复制。然而,gameobject复制其实是一个相当耗时的操作,而且必须占用主线程,成为了一个重要的卡顿点。 预设(Prefab)是资源...

2020-05-15 21:58:06 944

原创 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 1910

原创 Unity中GameObject.SetActive函数和Component.enabled属性的区别

       我们在Unity项目里对某个GameObject进行隐藏时,用gameObject.SetActive(false)可以达到目的,也可以对enabled属性赋值false达到同样的目的,那么这两者究竟有何区别呢,今天我特意写了一个Demo进行了验证。       为了方便验证,我特意写了一个继承自Image的自定义Class,在主要的生命周期函数里输出Log来进行验证,这里我使用...

2019-02-27 16:53:23 7225 1

原创 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 4825

原创 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 1532

原创 VC窗口启动隐藏时闪烁问题解决方法(原创)

VC窗口启动隐藏时闪烁问题解决方法(原创)       最近由于项目需要,做了一个VC托盘程序,让该程序在后台执行,当程序启动时我需要将窗口隐藏,但总是在隐藏前会闪烁一下再隐藏,于是我跟踪代码到MFC类库里终于发现问题给解决了。       下面都是针对创建的单文档程序而讲的,因为我创建的是单文档工程,其它的类型工程我没试过,多文档工程应该也可以用下面的方法,好了,开始讲解了。  

2009-12-24 15:16:00 1676 1

原创 vs.net应用程序图标以及制作安装程序快捷方式图标设置

       我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢?       我现在要讲的图标设置有两种情况,一种是应用程序界面左上角显示的图标,另一种是安装程序后快捷方式显示的图标,lets go!vs.net环境下应用程序中界面左上角显示的图标设置:             方法

2008-11-28 13:46:00 2627

原创 vs.net环境如何生成dll和exe文件

        今天发现一个奇怪的问题,我注意到同是windows应用程序的引用,但是.net环境编译程序之后,有的引用编译后生成的是dll文件(搭档做的模块),而有的引用编译后生成的是exe文件(我自己做的模块),我觉得这个应该是可以设置的,带着疑问我请教了我的搭档。        问他之后,果真是可以设置的,略讲如下。       vs.net环境如何生成dll和exe文件的设置:

2008-11-28 11:39:00 1379 1

原创 vs.net打包程序时设置自动检测环境并安装.net framwork

        vs.net打包程序或者制作安装程序时自动检测环境并安装.net framwork的设置方法之前我看过文档也做过,但是过一段时间又忘了,现在终于又找到方法了,还是把这个方法写下来吧,方便自己也方便大家将来查询用。       vs.net打包或者制作安装程序时进行自动检测环境并安装.net framwork的设置方法:            1. 新建一个“安装和部署”的项

2008-11-28 11:37:00 1242

原创 与DataTable有关的数据导入导出

         最近的项目要频繁将数据导入导出,有将DataTable中的数据导出为txt或者csv文本文件以及EXCEL文件的,也有将txt或者csv文本文件以及EXCEL文件的数据读取到DataTable中的,在这里我把代码写出来供大家参考谈论一下吧。        将DataTable中的数据导出到文本文件,代码如下:        private void dataTable

2008-11-05 12:40:00 972

原创 查询数据库名表名字段名的SQL语句

 最近项目需要用到如下知识,自我感觉挺有用的,拿出来晒一晒吧~~~1. C#中获取SQL Server服务器上的所有数据库名称,方法如下:        先连接到master库中,执行 select name from master..sysdatabases 就可以了。        sp_helpdb也可以列出数据名,但不是全部,sp_helpdb是会根据当前用户角色找出相应的

2008-11-05 12:34:00 2653

原创 C#执行exe文件时与主程序同步问题

         我们在用C#调用执行exe文件时有个细节问题特别容易忽视,我先将把代码粘贴过来讲一讲吧,如下:        事先说明一下,resultFilePath是一个txt文本文件路径,用来将exe执行后的数据保存到resultFilePath中;tempFilePath 是原始数据文件路径,也是txt文本文件,就是exe程序需要处理的数据文件;而exeFilePath是一个ex

2008-11-05 12:21:00 2773

VC++2008实现按下F1键打开chm帮助文档源程序

VC6.0升级到vc2008后发现用以前的方法调用帮助文档不能用,原因是以前的那个方法在MFC9.0里面做了改变,于是我用另一种方法实现了,分享给大家!

2010-02-21

VC++自己写的先进先出队列的例子_QueueDemo

该程序使用VC++2008实现了先进先出队列的工作原理,对处理大量需要等待的数据非常有用

2010-02-21

读取硬盘物理序列号_GetHD_ID

当下根据读取硬盘参数来给软件加密非常流行,但是我在网上找了很多读硬盘参数的程序,大多都是读取硬盘的逻辑序列号,但是硬盘格式化以后这个序列号会变,所以我们需要读取硬盘的物理序列号,我写了这个源程序实现了此功能,分享给大家。

2010-02-21

TScrollWin

使用VC2008IDE制作的一个多文档选项卡式工程,实现了子窗口滚动条、全屏显示、双击子窗口时又恢复原状的功能。

2009-12-24

空空如也

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

TA关注的人

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