自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C# Timer 实现Tick 使用精度问题

C# Timer 实现Tick 使用精度问题文章目录C# Timer 实现Tick 使用精度问题实现效果实现误区解决思路代码片段我们想在C#中实现一秒钟执行n次的一个事件, 然后其他方法可以监听这个事件, 最终实现每一帧随着Tick改变, 我们的倒计时开始计数.实现效果实现误区我们最早实现方法是直接开启一个新线程, 在线程内部开启一个Timer, 设定Timer的延迟, 但是最终发现它...

2020-04-30 08:46:07 1697

原创 Unity3D中如何制作身临其境的3d音效

如何在unity中制作出立体音效,让耳机高潮。ProjectSettings => SpatializerPlugin => ResonanceAudio音源的AudioSource=>SpatialBlend=>3DAudioSource=>Spatialize 勾选如果想要因为声音远近影响 就勾选 AudioSource=>SpatializePo...

2019-03-31 11:13:40 3287

原创 Unity3d知识体系全解

Unity知识体系总结此图来源知乎@无闻西东其中 绝大部分的知识都可以在u3d官方网站上找到,英语薄弱的同学可以借助翻译软件学习,以下是链接:https://unity3d.com/cn/learn/tutorials当然如果通过别的道路一样可以学习,像是国内各种各样资源,咸鱼上卖或是网上的实战案例,都可以不断进阶。建议还是以U3d官方的教程为基础,先通关u3d官方的,再去不断积累其他...

2019-03-29 23:17:15 1542

原创 游戏模块化之声音模块

前置知识1.每个场景有且只有一个Audio Listener2.一个AudioSource 可以播放多种AudioClip3.AudioSource有很多属性而且继承MonoBehavior,所以非常占用空间,所以少用引出问题:1.如何使用有限的AudioSouce播放无限个AudioClips解决方案:针对手游与vr进行的优化,默认加载三个AudioSource在AudioMana...

2019-03-25 19:15:26 288

原创 游戏模块化之WWW模块封装

前置知识:post请求指的是网址中后面有问号的,问号后面是参数,用&符号连接get请求指的是通过网站访问再加上一个用于存储参数的表单来向服务器发出请求www可以再unity中根据不同前缀下载不同文件IOS:File://Android:Jar:file://PC:File:///如何应用: 判断是Applictation.plantform是什么平台,来把给url加上...

2019-03-24 20:15:41 627

原创 C#设计模式之状态者模式(FSM状态机)

状态者模式(FSM有限状态机)挖坑待填

2019-03-24 17:39:25 1398 3

原创 C#设计模式之门面模式和组合模式

门面模式:一句话概括:将 “不同的类型” 的东西"聚合"在一起,形成"特定功能"举栗子:把不同的组件组合在一起形成一个功能,比如按一个UIbutton,控制物体的移动(包括动画,物理的rigid,位置的transform),这种设计模式就称为门面模式.像是那种游戏内的Manager模块都是把不同的组件组合在形成一个新的功能组合模式:一句话概括:将"相同"类型的物体"聚合"在一起,形成...

2019-03-24 16:27:24 311

原创 C#设计模式之中介者模式

中介者模式:一句话特点:****举个栗子:需求:阐述房屋中介与房东和租房者的关系画图:图中,租房者与房东并没有关联,只是通过中介进行,可以看出有效的降低了耦合比较符合迪米特原则实现:public class Person{ private float money = 10000; public void NeedHouse() { m...

2019-03-24 15:10:12 131

原创 C#设计模式之建造者模式

建造者模式:一句话特点:万丈高楼平地起举个栗子:需求:做出游戏公司的各个职位之间的关系.画图:与之类似的还有UIManager,GameManager等等,都是通过底层不断累积产生的,像是造房子,具体代码就不演示了.注:实现过程就和做游戏一样,先有boss,在去找项目经理,接着主程,主美,主策,再往下…再注:可供外部调用的只有最顶层,也就是UIManager或是Boss或是…Ma...

2019-03-24 14:39:02 118

原创 C#设计模式之策略者模式

策略者模式:一句话特点:根据不同的输入得到不同的结果举个栗子:需求:在公司,每个人和公司都需要通过会计交税,但个人与公司交的税又是不同的输入,用代码实现下图实现://交税基类public class AbsBase{ public flaot payMoney; public virtual void CaculateTax() { ...

2019-03-23 20:59:35 234

原创 C#设计模式之观察者模式and代理模式

观察者模式(Observer):一句话特点:不断地询问举个栗子:像是时间计时器就符合这个模式,程序在Update中不断地累加计时器,不断询问计时器是否到达了应该调用方法的时间点,如果到了那就归零,并且调用方法,这种不断询问的方法也就是观察者模式Observer;void Update(){ timeCount++; if(timeCount>0.5f)...

2019-03-23 20:37:17 197

原创 C#设计模式之工厂模式

单例模式:整个生命周期中,有且只有一个实例.一个class本身是一个抽象的概念不占用内存,每实例一个新类,会在内存中占用一个内存单位,而单例模式指的是只能有一个实例.如何保证->使用static来让这个类变成静态变量(全局变量) 注:如果类继承了mono.那么可以绑定到场景中的gameobject用instance =this来赋值,但是如果没有继承,那就可以通过重写get方法获得工厂模...

2019-03-22 22:06:06 111

原创 如何使用markdown插入图片

方法有很多,我就推荐使用一个最简单的1.这个网站点进去(CMMS)https://sm.ms/2.把图片拖进去3.把图片上传到图床4.获取链接,把链接加入你的markdown编辑中,就能看到图片了~注:图片有效期我不知道,今天才第一次用主要是百度图片不能上传其他的方法不是要下软件就是要买会员,烦Xp举个栗子死宅真恶心Xp...

2019-03-22 22:00:57 5092

原创 C#设计模式之单例模式

设计模式之单例模式单例模式:一句话概括:整个软件或游戏生命周期中,有且只有一个实例.一个class本身是一个抽象的概念不占用内存,每实例一个新类,会在内存中占用一个内存单位,而单例模式指的是只能有一个实例.如何保证->使用static来让这个类变成静态变量(全局变量)注:如果类继承了mono.那么可以绑定到场景中的gameobject用instance =this来赋值,但是如果没...

2019-03-22 20:51:55 99

原创 C#编程原则

编程是一个解决问题的工具和方法.为了节省开发时间,就需要提升编程的复用性,解耦性,程序变成一个个的模块,方便添加与更改.遇到编程需求的项目的时候,需要按照以下步骤进行,能有效解决问题:1.了解需求2.画图,通过画图把问题实现方式画出来3.实现一个好的程序有以下常用原则:1.单一原则:每一个类只解决一个问题,每个工作都有不同的类做2.开闭原则:类中的属性不能在外部类直接进行更改,所以...

2019-03-22 20:24:45 249

原创 U3d寻找优先顺序与加载物体方式与限定索引值

U3d寻找优先顺序与加载物体方式与限定索引值GameObject.FindGameObjectWithTag这个方法使用的是深度优先顺序来寻找.GameObject里的find都是深度优先的顺序来查找物体,所以你用FindGameObjectWithTag的时候,牢记不能随便给物体加Tag,因为这样会严重影响到这个命令的查找速度,一般给场景中的唯一物体加Tag是最明智的选择U3d中一般大部分...

2019-03-22 20:21:42 306

原创 ①如何使用Photon来创建一个基础的服务端与客户端(ChatServer)

最近在学习用Photon3来建立服务器连接,怎么下载以及怎么注册就不说了.大体的流程:首先创建服务端接着把服务端信息写入Photon3的config文件中去重启电脑后启动服务端写个客户端启动客户端,连接服务器端举个栗子:1)创建服务端:打开vs2017,创建一个c#类库,作为服务端添加3个程序集引用(Photon内exe文件夹同目录的三个dll库)引用程序集并且写好代...

2019-01-11 21:07:00 453 1

原创 程序注释该怎么写

错误的写法//把food归零int food = 0;// 哦你把food归零,我已经知道了,所以你这注释什么意思?正确的写法// 因为食物刚被主角吃了,所以把食物的计数值为零int food = 0;错误的写法// 计算物体所需要的花费cost = items / 2 * storePrice;//哦原来这是计算所需要的花费,可这后面的什么鬼正确的写法// 因为他...

2019-01-09 20:27:07 5085

原创 VisualStudio2017如何让IDE的警告等级提升(把警告变成报错)

为了使程序更加完美,许多程序员都这么做,首先把程序的错误等级提升到四级,再把警报出现的时候终止程序运行(注意 千万不要改成Level5,否则你会迷失在C++标准库之中的错误内)...

2019-01-09 17:30:27 3132 2

原创 编程就是解决问题,解决问题的步骤

最近因为想学Shader怎么写,于是需要学图形学知识,学习OpenGL又需要C++基础,所以 又去学C++,让我重新认识了一边编程基础。编程其实就是解决问题,第一个“What”要解决什么问题,第二个“How”如何解决,第三个以及之后都是“Do”。...

2019-01-09 16:50:13 4095

转载 SelectMany 和 Select的区别

如果我们看这两个扩展函数的定义很容易明白——Select是把要遍历的集合IEnumerable逐一遍历,每次返回一个T,合并之后直接返回一个IEnumerable,而SelectMany则把原有的集合IEnumerable每个元素遍历一遍,每次返回一个IEnumerable,把这些IEnumerable的“T”合并之后整体返回一个IEnumerable。因此我们可以说一般情况下SelectMan...

2018-10-24 19:28:47 9365

空空如也

空空如也

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

TA关注的人

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