- 博客(43)
- 收藏
- 关注
转载 开发基于键值对形式的语言管理器LauguageManager
开发基于键值对形式的语言管理器LauguageManager前言:在我们在开发UI框架的过程中,我们会用到语言的国际化,尤其是我们的游戏项目做大之后,公司不仅仅满足于国内的市场,有可能会发布到美国、日本等国家。在这个时候语言的国际化会显得尤为重要了,当然国际化不仅仅指的语言国家化,还包括音频的国际化等许多的方面。在这里我们主要讲解的是语言的国际化。通常的话我们会将语言信息全部的存...
2017-11-28 11:57:00
147
转载 基于Json(键值对)配置文件的配置管理器
基于Json(键值对)配置文件的配置管理器前言:在这个专题中,我们会讲解UI框架项目。首先我们先来编写基于键值对的的通用的配置管理器。在UI框架的项目中,我们会把我们一个一个的窗体都存为预设放在Resources目录下。使用Resources.Load进行加载存储在集合中。一:Json文件的解析的Demo ...
2017-11-26 20:32:00
277
转载 Unity换装效果
Unity换装效果前言:在我们游戏的角色中,我们点击按钮可以为自己的角色改变外观。然而我们建好的3D模型,如果要将其中的一个部位换成另一个形状。最直接的就是将该物件部位的Mesh替换掉。那么我们的外观改变了,但是这种方法如果运用到需要动作的模型上,将会发现被置换的部位不会正常的工作。所以直接改变Mesh的方法之适用于静态模型物件。为此,我们必须找到更好的方法。一:换装的原理: ...
2017-11-23 15:14:00
293
转载 技能冷却效果的制作
技能冷却效果的制作前言:在学习的过程中,不管是在手游还是页游中,我们会制作技能冷却效果的制作。这是非常适用的东西。同时也非常的简单,我们直接奉献代码:public class SkillCoolingEffect : MonoBehaviour{ #region 字段和属性定义 [HideInInspector] public ...
2017-11-19 20:10:00
236
转载 c#中的反射
c#中的反射前言:我们反射主要用到的类System.Type 类和System.Reflection.Assembly类,通过System.Type这个类可以访问关于 任何数据类型的信息。而System.Reflection.Assembly类,它可以用于访问给定程序集的相关的信息。我们先来介绍生活中的两个例子。1:B超:大家体检的时候大概都做过B超吧,B超可以透过肚...
2017-11-18 17:31:00
105
转载 委托和事件的区别
委托和事件的区别前言:在我们学习完委托和事件了,那我们需要想一想委托和事件到底有什么区别呢?如果不了解委托和事件的话请看我之前的博客.http://www.cnblogs.com/MoRanQianXiao/p/7767931.html%20和http://www.cnblogs.com/MoRanQianXiao/p/7773911.html。首先我们先建立一个学习类,声明委托...
2017-11-16 19:11:00
109
转载 字典
字典前言:字典是一种非常复杂的数据结构。这种数据结构允许按照某个键来访问元素。字段也称为映射或者散列表。字典的主要的特征是能根据键快速查找值。有可以自由的添加和删除元素。这有像List<T>类。但是没有在内存中移动后续元素的性能开销。下图是字典的一个简化表示。其中的employee-id(如B4711)是添加到字典中的键。键会转换为一个散列。利用散列创建一个数字。它将...
2017-11-16 13:31:00
94
转载 有序列表
有序列表前言:如果需要基于键对所需集合排序。就可以使用SortedList<TKey,TValue>类。这个类按照键给元素排序。这个集合中的值和键都可以使用任意类型。下面的例子创建了一个有序列表,其中的键和值都是string类型。默认的构造函数创建了一个空列表。在用Add()方法添加了两个名字。使用重载的构造函数,可以定义列表的容量。传递实现了IComparar<...
2017-11-16 09:45:00
256
转载 链表
链表前言:LinkedList<T>是一个双向链表,其元素指向他前面和后面的元素。如下图所示,这样一来,通过移动到下一个元素可以正向的遍历整个链表。通过移动到前一个元素可以反向遍历整个链表。链表的优点:如果将元素插入列表的中间位置,使用链表就会非常快。在插入一个元素时,只需要修改上一个元素的Next引用和下一个元素的Previous引用,使他们引用所插入的元素。在...
2017-11-15 20:56:00
74
转载 栈
栈前言:栈是与队列非常类似的另一个容器。只是要使用不同的方法访问栈。最后添加到栈中的元素会最先读取。栈是一个后进先出(LIFO)的容器。如下图表示一个栈,用Push()方法在栈中添加元素,用Pop()方法获取最近添加的元素。与Queue<T>类相同,Stack<T>类实现了IEnumberable和ICollection接口。下图表示栈集合中一些常...
2017-11-15 13:31:00
78
转载 队列
队列前言:队列是其元素以先进先出的方式来处理的集合。先放入队列中的元素会先读取。队列的例子有在机场排的队列、人力资源部中等待处理求职信的队列和打印队列中等待处理的打印任务。另外,还常常有元素根据其优先级来处理队列。例如:在机场的队列中,商务舱乘客的处理要优于经济舱的乘客。这里可以使用多个队列,一个队列对应一个优先级。我们可以为一组队列建立一个数组,数组中的一项代表一个优先级。在每个数...
2017-11-15 11:48:00
109
转载 集合
集合前言:在前面的博客中我们讲到了数组http://www.cnblogs.com/MoRanQianXiao/p/7825013.html。数组的大小是固定的。如果元素的个数是动态的。就应使用集合类。一:集合接口和类型 List<T>是与数组相当的集合类。还有其他...
2017-11-14 20:50:00
101
转载 运算符
运算符一:运算符: 首先我们先来给出c#中的算数运算符:关系运算符:逻辑运算符:赋值运算符:增量和减量可以作用于整个的表达式,也可以作用于表达式的内部。当x++和++x单独占一行的时候,他们的作用是相同的。对应于x=x+1.但是当他们用于较长...
2017-11-14 15:29:00
118
转载 数组
数组一:简单数组 如果需要使用同一类型的对个对象,就可以使用数组。数组是一种数据结构,它可以包含同一类型的多个元素。1.1:数组的声明:在声明数组时,应先定义数组中元素的类型。其后是一对空方括号和一个变量名。例如:下面声明了一个包含整型元素的数组:...
2017-11-13 19:55:00
282
转载 项目研发常用的优化策略——遮挡剔除(Occlusion Culling)
项目研发常用的优化策略——遮挡剔除(Occlusion Culling)前言:我们在本次的博客中讨论我们游戏项目研发的过程中为解决项目卡顿、死机、移动设备热量高等问题。对于一个Unity初学者来说,或者仅仅满足于项目功能的具体的实现上。而一个中高级的游戏研发人员则绝对不能仅仅满足于此。一:摄像机的剔除的距离 ...
2017-11-12 11:50:00
627
转载 Unity专题_简单的寻路导航
Unity专题_导航寻路前言:导航寻路(NavMesh)技术是一种系统内置的强大寻路算法系统,可以方便、快捷的开发出各种复杂应用,被大量应用于各种RPG、设计、动作、冒险等游戏中。一.基本的导航寻路...
2017-11-11 17:47:00
307
转载 Unity重要脚本函数
Unity重要脚本函数一:Unity事件函数:Unity中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制函数的回调,这就是事件函数。对于初学者而言:先介绍最常用的两个:Start:在Update函数之前进行调用,本函数仅调用一次。Update:每帧执行一次,这是最常用的事件函数,大约一秒钟执行30-60次,依据个人计算机的性能而不同。二:Game...
2017-11-11 11:45:00
312
转载 Unity输入管理器
Unity输入管理器前言:输入管理器可以设置项目中的各种输入和操作,设置的主要的目的为:(1):让开发人员在脚本中通过“轴”名称使用输入,目的是降低程序的耦合性。(2):让游戏玩家可以自定义游戏的输入设置,提高玩家的按键的自由度和满意度,即玩家可以自由更改自己喜欢的按键进行游戏。我们执行菜单命名:“Edit”——>"Projet Setting"——>"Inp...
2017-11-10 15:52:00
1955
转载 Unity脚本的生命周期
Unity脚本的生命周期前言:Unity中定义了10个重要的事件函数,按照执行的先后顺序依次为以下的内容:(1):Reset:重置函数,编辑期当脚本赋值给游戏对象时触发,仅执行一次。(2):Awake:唤醒函数,最先执行的事件函数,用于优先级最高的事件处理,仅执行一次。(3):OnEnable:启用函数,当脚本启动的时候触发,随着脚本的不断启用与禁用可以执行多次。(...
2017-11-09 22:12:00
230
转载 接口
接口前言:如果一个类派生自一个类,声明这个类就会实现某些函数。并不是所有的面向对象的语言都支持接口。首先我们先声明一个接口: public interface IDisposable { void Dispose(); }上面的代码说明:声明接口在语法上与声明抽象类是完全相同的。但是不允许提供接口中任何成员...
2017-11-09 16:18:00
103
转载 继承
Person zsPerson = new Chinese();继承前言:在本篇的博客中,我们会讲解继承的类型、实现继承、访问修饰符、接口。继承时我们本次的主题,我们将讨论c#和.Net Framwork如何处理继承。一:继承的类型:1.1:实现继承和接口继承:在面向对象的编程中,有两种截然不同的继承类型:实现继承和接...
2017-11-09 11:20:00
98
转载 部分类、静态类、Object类、ToString()方法、扩展方法的使用
部分类、静态类、Object类、ToString()方法、扩展方法的使用一:部分类:前言:partial关键字允许将类、结构、方法或者接口放在多个文件中。一般情况下,一个类全部驻留在单个文件中。但有时,多个开发人员需要访问同一类的时候,或者某种类型的代码生成器生成了一个类的某部分。所以把类放在多个文件中是有益的。如果声明类时使用了下面的关键字。这些关键字就必须应用于同一个类中...
2017-11-08 15:35:00
178
转载 类和结构的区别
类和结构的区别前言:类和结构实际上都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。类定义了类的每个对象(称为实例)可以包含什么数据和功能。例如:如果一个类表示一个顾客,就可以定义字段CustomerID,FirstName,LaseName和Address,已包含顾客的信息。还可以定义实例化某个顾客的类的对象,为这个实例设置相关的字段,并使用其功能。...
2017-11-08 11:28:00
296
转载 类
类前言:类中的数据和函数称为类的成员。成员的可访问性可以是public protected internal protected、private或internal。1.数据成员:数据成员是包含类的数据(字段)、常量和事件的成员。数据成员可以是静态数据。类成员总是实例成员,除非用static进行显示的声明。字段是与类相关的变量。我们写代码先来表示一个类:using Sy...
2017-11-08 10:04:00
123
转载 3D数学
---恢复内容开始---Unity之3D数学前言:向量是游戏开发的过程中最重要的数学工具之一,它能够使用简单的表达方式来实现各种复杂的游戏效果。例如,使用向量可以控制角色的行走和朝向。甚至还可以用来实现各种丰富的着色器的效果。一:向量的概述:向量在数学表达上就是一个有符号数字列表,它使用这个数字列表来表达各种不同的具体含义。向量是相对于标量(标量是只有大小而没有方向...
2017-11-05 23:15:00
167
转载 c#之事件
事件前言:事件基于委托,为委托提供了一种发布/订阅的机制。在架构的内部到处都能看到事件。在Windows应用程序中,Button类提供了Click事件。这类事件就是委托。触发Click事件时调用的处理程序方法需要定义,其中参数由委托类型定义。在本次的实例中。事件用于连接CarDealer(汽车代理商)类和Consumer(顾客类)类。CarDealer类提供了一个新车到达时发出的...
2017-11-03 10:42:00
121
转载 c#之Lambda表达式
Lambda表达式前言:我们可以使用 一个新语法把实现的代码赋予委托:Lambda表达式。只要有委托参数类型的地方就可以使用Lambda表达式。我们把我们上一篇博客中的例子改为Lambda表达式。完整的代码如下:using System;using System.Collections.Generic;using System.Linq;using...
2017-11-02 19:00:00
199
转载 c#之委托
委托前言:当要把方法传递给其他的方法时,需要使用委托。要了解他们的含义,可以看看下面的一行代码:int number = int.Parse("99");我们习惯于把数据作为参数传递给方法,如上面的例子所示。所以,给方法传递另一个方法听起来有点奇怪。而有时某个方法执行的操作并不是针对数据进行的,而是要针对另一个方法进行操作。更麻烦的是,在...
2017-11-02 14:39:00
137
转载 c#之状态者模式
状态者模式一:状态者模式的定义当一个对象的内在的状态改变时允许改变其行为,这个对象看起来像是改变了其类,状态者模式中主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转换到表示不同状态的一系列类当中,可以把复杂的判断逻辑简单化。如果这个状态的判断很简单,那就没有必须用“状态模式”了。二:案例的展示:就比如说我们拿上班的状态来表示:上午的状态好...
2017-10-29 19:39:00
100
转载 c#之装饰者模式
装饰者模式1.概述: 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加的灵活。 2.原理: 增加一个修饰的类来包裹原来的类,包裹的方式一般是通过将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,不需要用到新功能的地方,它可以直接调用原来的类中的方法,修饰类必须和...
2017-10-28 15:47:00
109
转载 超市收银系统之——3
---恢复内容开始---超市收银系统前言:在我们之前的仓库类和超市类的编程完成之后,这时候我们需要考虑打折的方案。1.不打折 2.打9折 3.打8.5者 4.买300送50 5.买500送100解决方案:我们可以提供一个打折的抽象的方法。在各个不同的打折类中进行重写打折的方法。首先我们先定义打折的父类,代码如下:using System;usi...
2017-10-26 22:30:00
264
转载 超市收银系统之超市类——4
超市收银系统前言:在上篇的博客中我们写了仓库类,在接下来的我们将要开发超市类。首先超市类的功能:1.创建仓库对象,并且在构造函数中在货架上导入货物。2.跟用户交互的过程。3.根据用户购买的商品计算出总的价钱。4.根据用户的选择打折方式返回一个打折对象。5.展示货物的方法。完整的代码如下:using System;using System.Co...
2017-10-26 20:57:00
267
转载 超市收银系统_仓库类——2
---恢复内容开始---超市收银系统前言:在上一篇我们分析了商品类并设置了他们的父类供各个商品来继承。接下来我们分析仓库类。通过我们的截图显示,我们仓库首先需要进行货物的存储的功能。那么我们首先思考一个问题:我们用什么来进行货物的存储呢?ok,我们打算使用List<>泛型集合来存储我们的物品,因为我们根据里氏转换得知我们可以让我们的商品都表示出父类的形式进行存储。...
2017-10-26 20:36:00
360
转载 超市收银系统_定义商品的父类和各个子类的实现——1
---恢复内容开始---超市收银系统前言:当我们学习完面向对象的封装 继承 多态的时候,最主要的就是如何的运用他们,接下来我们会通过一个小型的案例(超市收银系统)来把我们学习到的知识进行运用。首先我们要分析一下我们需要什么类?第一首先我们要有物品,比如说有:Acer笔记本 酱油 香蕉 华为手机,他们首先都是物品,所以我们可以写一个父类,用来父类中物品的属性,比如:价格Pr...
2017-10-26 18:54:00
640
转载 面向对象之封装
---恢复内容开始---面向对象之封装前言:在我们学习C#的过程中,尤其在学习面向对象的过程中,我们会依次的接触到面对对象的三大特征:封装 继承 多态。接下来我们会依次的进行分析,我们先来讲解封装。在我们面向对象之前一直用的是面向过程的思维。那什么叫做面向过程呢:面向的是完成这件的事的过程,强调的是完成这件事的动作。首先在这里请允许我先讲解一个例子:我想大家都看过赵本山演...
2017-10-26 14:10:00
140
转载 c#之中介者模式
---恢复内容开始---中介者模式前言:通过网上查阅资料和最近看的一本书<大话设计模式>,学习了一下中介者模式,接下来我们会通过实例来总结一下中介者模式,加深自己的理解。中介者模式又叫调停者模式,其实就是中间人或者调停者的意思。实例:比如说我们国家和国家之间的关系,就比如说今年的中国和印度在边境的问题有一些矛盾,几乎到了无法调和的地步,但是印度最后还是撤军了,...
2017-10-25 15:49:00
126
转载 c#之外观模式
---恢复内容开始---外观模式前言:对于一些有面对对象基础的朋友,即使我们没有听说过外观模式,也是完全有可能使用到它,因为他完美的体现了依赖倒转原则和迪米特法则,也是我们非常常用的模式之一。首先我们用一个故事来作为指引:不知道大家有没有炒股的经历,对于那些新手而言,往往是苦不堪言,因为对于股市的不了解或者跟风导致了连连亏损,毕竟“一入股市深似海”呀,毕竟要学习的东西实在是太...
2017-10-24 14:13:00
143
转载 c#之观察者模式
观察者模式前言:最近花心思学习了一下设计模式,总体感觉设计模式主要是给我们提供解决问题的一种思路,是自己的代码可重用性高,保证代码的可靠性,设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。首先我们通过一个故事来进行探讨:在曾经的一段时间里,我们的股市是非常火爆的,几乎接近了全名炒股的程度,张三(化名)经常会在上班的时候关注股市的信息,但总是会担心老板出...
2017-10-23 23:23:00
87
转载 c# 之简单工厂模式
简单工厂模式前言:简单工厂模式也是我们编程中经常用到和非常常见的一种设计模式。通过一些书籍和视频的观看后,自己也是写一篇博客来加深自己的理解,已备复习之用。概念:这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳的方式,我们在创建对象时不会暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,...
2017-10-22 23:50:00
155
转载 c#设计模式之单例模式
单例模式前言:在自己的学习设计模式过程的当中,感觉单例模式是我们编程过程当中使用比较频繁和相对较简单的一种,写这篇博客主要是参考设计模式的书和自己的一些理解。一:首先大家先看一个例子:我们大家在平常的上QQ和FeiQ的过程当中,有没有发现这样的一个问题,就是我们每次上QQ的时候可以同时的打开多个QQ,而FeiQ问什么我们如何点击在我们的电脑上只能有一个。这样的话我们是不是可以这样...
2017-10-22 14:11:00
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人