自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Foreach遍历原理

Foreach遍历原理

2023-01-09 17:06:57 144

原创 C# 深浅复制 MemberwiseClone

C# 深浅复制 MemberwiseClone 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 最近拜读了大话设计模式:原型模式,该模式主要应用C# 深浅复制来实现的!关于深浅复制大家可参考https://docs.microsoft.com/zh-cn/dotnet/api/system.object.memberwiseclone?redirectedfrom=MSDN&view=net-5.0#System_Object_Memberw

2021-06-24 16:50:31 1168

原创 实时阴影的shader

实时阴影的shader Shader "Shader/Realtime-Shadow" { Properties { _Color ("Color", Color) = (0.3, 0.3, 0.3, 1) } SubShader { Tags { "Queue" = "Geometry" "RenderType"="Opaque" } LOD 100 Pass { Cull Front Blend SrcAlpha OneMinusSrcAl

2021-06-23 15:03:47 199

原创 游戏中的事件系统(lua实现)

事件系统管理类 local EventSystem = Class("EventSystem ") function EventSystem:New() self.is_deleted = false self.event_list = {} -- 事件列表 self.need_fire_events = {} -- 需要激发的事件(延后调用方式) end function EventSystem:__delete() self.is_deleted = true end

2021-05-21 15:15:22 543 1

原创 Lua实现的定时器系统

Lua实现的定时器系统 local TimerQuest = Class("TimerQuest ") function TimerQuest:New() self.quest_list = {} end function TimerQuest:__delete() self.quest_list = {} end --Update里驱动该方法调用 function TimerQuest:Update(now_time, elapse_time) local callback_list = {}

2021-05-20 16:45:38 796 1

原创 Unity3D游戏开发之Time.timeScale

以前我一直认为Time.timeScale来做游戏的 1倍 2倍整体加速,今天终于发现我的理解是错误的 Time.timeScale可以控制Update 和LateUpdate 的执行速度,举个例子说明一下。 Time.timeScale=1时,Update、LateUpdate、FixedUpdate 都按正常的时间来执行。 Time.timeScale=2时,Update和 LateUpdate的执行速度是之前的2倍,而FixedUpdate还是按正常时间来执行。 上面的红色字体是我理解错误了,

2021-05-19 10:37:59 1109

原创 浅谈C# Dictionary实现原理

Dictionary源码学习 Dictionary实现我们主要对照源码来解析,目前对照的源码版本是.Net Framwork4.8,源码地址。这边主要介绍Dictionary中几个比较关键的类和对象,然后跟着代码来走一遍插入、删除和扩容的流程。 1、Entry结构体 首先,我们引入Entry这样一个结构体,它的定义如下面代码所示,这是Dictionary中存放数据的最小单位,调用Add(Key,Value)方法添加的元素都会被封装在这样的一个结构体中。 private struct Entry {

2021-05-17 21:59:16 957

原创 《Unity 3D游戏客户端基础框架》消息系统

《Unity 3D游戏客户端基础框架》消息系统 功能分析: 首先,我们必须先明确一个消息系统的核心功能: 一个通用的事件监听器 管理各个业务监听的事件类型(注册和解绑事件监听器) 全局广播事件 广播事件所传参数数量和数据类型都是可变的(数量可以是 0~3,数据类型是泛型) 设计思路: 清楚了上述的几个要求之后,我们不难自行定制一个业务层的消息系统,即在消息系统初始化时将每个模块绑定的消息列表,根据消息类型分类(用一个 string 类型的数据类标识),即建立一个字典Dictionary<strin

2021-05-14 17:00:17 519 7

原创 lua的闭包详解

Lua的闭包详解(终于搞懂了)词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界 词法定界:当一个函数内嵌套另一个函数的时候,内函数可以访问外部函数的局部变量,这种特征叫做词法定界 table.sort(names,functin (n1,n2) return grades[n1]>grades[n2] end) --内部匿名函数可以访问外部函数的n1,n2 第一类值:lua当中函数是一个值,他可以存在变量中,可以作为函数参数,可以作为返回值

2021-05-12 16:09:50 243

空空如也

空空如也

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

TA关注的人

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