自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 【数据结构】4.串

【串的定义】 一、定义 1. 由多个字符组成的有限序列叫做串 2. 序列中字符的个数称为串的长度 3. 长度为零的串叫做空串 4. 仅由空格符组成的串叫做空格串 5. 串中任意连续序列称为该串的子串,包含子串的序列为主串。 6. 字符在串中的序号称为该字符在串中的位置,子串在串中的位置由它的第一个字符位置表示【串的表示和实现】 一、定长顺序存储 二、堆

2017-10-11 00:56:42 406

原创 【数据结构】3.栈与队列

【栈】 一、定义 1. 一种限定的先进后出(LIFO)的线性表:只在栈顶插入删除操作 二、应用 1. 十进制数转为指定进制数 2. 行编辑器 3. 表达式 4. 汉诺塔 5. 迷宫路径求解:有穷法【队列】 一、定义 1. 一种限定的先进先出(FIFO)的线性表:只在一端(队尾)插入,只插入在一端(对头) 2. 限定插入和删除在2端(称为端点

2017-10-11 00:51:54 259

原创 【数据结构】2.线性表

【线性结构】 @线性表是线性结构,线性结构的特点是在数据元素的非空有限集中: ● 存在唯一一个被称为第一个的数据元素 ● 存在唯一一个被称为最后一个的数据元素 ● 除第一个元素外的任意元素都有唯一一个前驱 ● 除最后一个元素外的任一元素都有唯一一个后继【线性表】 @线性表是n个数据元素的有限序列,一个线性表中的数据元素有共同的特性,即属于同一数据对象【线性表的顺序存储】

2017-10-11 00:50:14 274

原创 【数据结构】1.概论

【什么是数据结构】 @计算机处理问题的大概步骤是:首先将具体问题抽象成数学模型,然后设计求解算法,最后编写程序直至解决问题。 @寻求数学模型的实质是分析问题,从中提取操作的对象,并找到这些对象之间含有的关系。 @这些操作对象以及它们之间的关系集就是数据结构。【基本术语和概念】 @数据:数据是对客观事物的符号表示,在计算机科学中是指能够被输入并被计算机程序处理的符号的总称。 @数据元素:数据

2017-10-11 00:49:37 412

原创 检测链表中的环

问题描述:给定一个链表,检测该链表中是否存在闭环。要求时间和空间复杂度。问题分析:如果存在环,那么我们在遍历链表的时候最终会进入一条无限循环中。我们可以把这视为2个人在操作运动,速度快的最终一定会赶上并且遇上速度慢的,也就是速度快的会比速度慢的多跑n整圈。假设a和b俩个物体运动,速度分别为va,vb,要使得运动相差闭环的整圈。需要满足几个条件: a. 首先速度需要有快慢我们让vb>=va

2017-10-11 00:34:59 768

原创 生肖速记

● 生肖编号 ○ 鼠:1 ○ 牛:2 ○ 虎:3 ○ 兔:4 ○ 龙:5 ○ 蛇:6 ○ 马:7 ○ 羊:8 ○ 猴:9 ○ 鸡:10 ○ 狗:11 ○ 猪:12● 几个特殊年代生肖 ○ 1899:猪 ○

2017-10-11 00:28:03 605

原创 Activity启动模式

每个应用有一个栈stack,每个栈中元素是task,task本身也是一个栈,它的元素是Activity。standard(默认标准模式):每启动一次,就创建一个新实例,并放到栈顶,并且该实例放在同样的任务task中、同样的activity栈中。不会再新创建栈、task。singleTop模式:如果栈中已经有待启动实例并且位于栈顶那么就复用之,否则跟standard模式一样singleTask模

2017-10-11 00:17:14 200

原创 Flash中本地缓存

一.SharedObject 1.类似浏览器的cookies,可以在本地存储数据,但没有过期期限,也不会传送到服务器。 创建该对象会在本地创建.sol文件,该文件在22.用户主目录下:用户主目录/随机名/localhost/SWF程序目录/SWF文件名/so名,在线状态会是#localhost 3.无法跨沙箱访问共享对象。 Flash为不同域的SWF文件创建了各自不同的目录,所以不会有命名冲

2017-10-11 00:15:25 1858

原创 Flash as3资源加载

一、流程二、对象1.ResRequest:包含加载的一些控制和环境参数,如下: url: format: priotity:优先级 clearType:清除方式 clearTime:清除时间 data:Bytes、URLVariable等加载时附加的数据。 loaderContext:LoaderContext对象,包含doamin指示swf加载的域和checkPolicyFile指示

2017-10-11 00:14:45 1134

原创 Flash as3 正则表达式

一、术语 - 字面字符:可以直接显示的字符 - 元字符:有特殊含义的字符,有()[]{} .*+? ^$| - 转义字符:反斜杠\ - 元序列:有特殊含义的字符序列 - 字符类:字符集合其中取一 - 数量表示符:用于表示匹配项重复的次数二、基本概念正则表达式包含模式和标志^:匹配字符串开头当设置了m时匹配行开头$:匹配字符串的结尾,当设置了m时还匹配换行符前面的位置。

2017-10-11 00:12:23 481

原创 Flash as3 应用程序域

一、概述和结构 1.Flash应用中的代码都定义在应用程序域中,通过域可以区分一个类的多个定义。 2.应用程序域以层级结构存在。有一个根域包含所整个程序所有域,它叫全局域或者系统域。除了系统域之外的所有域都有父级。 3.只有当父级没有相关定义时,加载的类才会进行定义,就是不会覆盖父级的定义。二、三种用法 加载图片或者SWf时可以指定加载的内容所在的域,有三种方式:1.创建系统域的子级 可以

2017-10-11 00:04:33 312

原创 Flash显示优化

一、问题 flash中的显示对象以层级的形式存在于显示列表。在每一帧flash会遍历显示列表对每一个显示对象进行渲染。但是帧间隔时间太短,当显示列表上的对象太多如大场景的时候,flash无法即时渲染就会出现cpu飙升甚至卡顿的现象,这时就需要考虑显示优化了。二、方案 优化的关键是减少每帧flash的计算量。 可以通过以下几个方面来进行: 1.及时渲染(按需渲染) 2.缓存机制 3.避免不

2017-10-11 00:03:35 811

原创 Flash as3安全沙箱

一、安全沙箱 安全沙箱相对于客户而言,是以加载的资源的原始域为基础,把不同域的文件资源分配给不同的组,这个组就叫安全沙箱。沙箱类型:沙箱有5个不同的种类。远程沙箱:来自网络的资源,只能访问授权的网络资源和数据。 远程交互的本地沙箱:只能访问授权的网络资源和数据。可以加载受信任的本地沙箱和只能与远程交互的本地沙箱的SWf,可以加载本地的非SWF内容,但无法访问内容中的数据。本地交互的本地沙箱

2017-10-11 00:02:10 615

原创 Flash中的XML

一、XML文档 XML文档以层级结构组织,包含唯一一个根结点,根节点会包含其他子节点,子节点也可以包含其他子节点。二、XML对象 XML对象可以表示不同的类型:结点(也叫元素)、属性、注释、指令、文本。三、复杂和简单XML对象 有子节点的XML就看做包含复杂内容。 只有单节点或者属性、注释、处理指令、文本结点的看做包含简单内容。四、toString()和toXMLSring() toStr

2017-10-10 23:56:27 252

原创 Flash Socket网络通信

一、需求和流程 主要目的就是接收协议和发送协议。在接收和发送协议的时候,我们都希望数据序列以一个完整的形式在一个数据包里面传送,这里暂叫数据包。根据我们的操作我们有两种数据包:一种是接收包,我们需要从中读出数据;另一种是我们可以向其中写入数据以发送给远程。一般情况下,接收的数据包需要有个处理器来读取数据和进行相关更新等操作,而与发送数据包对应的操作接收数据包应该看成是与之成对的。所以我们还需要一个

2017-10-10 23:54:46 885

原创 Lua中元表Metatables与元方法Metamethods

元表用于扩展一张表的状态行为和属性。当我们对表执行默认情况下不支持的操作时候,会寻找该表的元表中是否有对应的metamethod,如果有则继续执行,否则就会报错 可以使用setmetatable设置一张表的元表。使用getmetatable来获取一张表的元表。不要在表A的元表B中将__index方法中包含有A表本身,当访问A中不存在的域,可能会导致死循环:一直调用__index元方法

2017-10-10 23:49:53 275

原创 Lua自定义面向对象

local class={}local _classInfoMap={} -- <class,classinfo> <classname,classinfo>local _readonlyFields = {class=true,classname=true,super=true}local function ExecuteCtor(cls,obj,...) if nil == obj

2017-10-10 23:45:06 426

原创 第2章 渲染流水线

一、什么是渲染流水线图形的渲染流程被拆分成多个阶段,每个阶段独立并发执行而不用等待整个渲染流程完成后才开始下一个渲染任务,大大的提高了处理速度,这样的工作方式使得GPU能够并发快速的批量处理大量数据,提高渲染速度。 从大概念上来说,渲染流程分为3个阶段:应用程序阶段、几何阶段、光栅化阶段。每个阶段同时又是个流水线,包含一系列更小的流水线阶段。

2016-11-20 19:55:14 497

翻译 法线转换

原文地址:http://www.songho.ca/opengl/gl_normaltransform.html几点说明OpenGL的矩阵变换中,矩阵左乘向量。向量的点成可以看成是特殊的矩阵相乘,例如Vector3 * Vector3可以看成1x3的矩阵(行向量)乘以3x1的矩阵(列向量),得到一个标量矩阵的相乘满足结合律,因此矩阵和向量的相乘过程也可以使用结合律。法线变换当在OpenGL中

2016-10-25 23:37:14 3181

原创 雾化

雾化原理雾化效果基于点到相机的距离将场景产生的颜色与雾的颜色进行混合而得到。距离相机近,雾化效果越不明显,距离相机越远雾化效果越强。由此有雾化混合公式: Color = f * SceneColor + (1 - f) * FogClor,其中Color是混合后的结果颜色,SceneColor是没有雾化时场景的最初颜色,FogColor是雾的颜色,f是混合因子。雾化混合因子的计算雾化混合因子在不同

2016-10-24 16:45:46 939

原创 unity中光照模型和光照计算

光源类型方向光:Directional点光源:Point聚光灯:Spot光照模型每一种类型的光源都可能同时会有以下光照模型: - Diffuse:漫反射 - Specular:镜面反射光照衰减方向光:没有衰减点光源 距离衰减:光源有光照范围[near,far],在near距离内的光照系数为1,在far距离外的光照系数为0,在该两者之间的顶点会随距离进行衰减,光照强度与距离的平方成反

2016-10-21 19:56:02 4863

转载 Parallax occlusion Mapping 视差贴图 (基于法线贴图)

Parallax occlusion Mapping 视差贴图 视差贴图技术我们其实应该称之为视差遮蔽贴图技术,因为在这一技术中,会对纹理的坐标做变换,一些凸出的纹理会遮蔽到其他的纹理,这样就会看起来具备更好的凹凸的感觉了。视差贴图技术的实现原理,其实和法线贴图是一样的,都是根据法线贴图进行的处理。视差贴图比法线贴图提供更好的视觉效果,而且跟法线贴图有同一个目的:在保证模型细节的情况下,大幅度降低场

2016-10-12 11:47:53 7790 2

原创 基于运行时栈的状态机设计

目录目录基于运行时栈的状态机设计状态切换事件应用基于运行时栈的状态机设计状态机运行时状态之间的跳转会由一个栈来维护和管理,用于记录状态的跳转上下文。状态之间的跳转方式有以下几种方式:Enter(targetState,exitCurrent):跳到下一个状态,在栈中压入目标状态,exitCurrent表示是否先推出当前状态Exit(targetStateWhenEmpty):跳到上一个状态

2016-09-30 10:44:16 1496

原创 Unity C#脚本热更

1.区分出Editor  Plugins和CSharp三个工程的代码2.热更新是对CSharp的输出打包,反射3.打包Apk时候工程里面需要包含Plugins目录和其他依赖的Dll库,CSharp里面的代码要删干净,否则打包的代码加载不进去

2015-12-21 03:27:23 2385

原创 Unity项目结构和版本控制

一、工程文件1.C#工程文件●Assembly-CSharp-vs.csproj:VS●.Assembly-CSharp.csproj:MonoDevelop2.JS工程文件●.Assembly-UnityScript-vs.unityproj:VS●.Assembly-UnityScript.unityproj:MonoDevelop二、IDE的解决方案文件1.t

2015-12-21 03:24:50 1921

原创 资源管理系统

一、资源打包BuildPipeline.BuildAssetBundle资源打包参数:Determine(Object保持ID不变,用于增量发布)、ColloctDependencies(收集依赖)、Complete完全打包(该资源以完整的形式打包)场景打包:先打包的依赖的所有资源,然后打包场景,用BuildPipeline.BuildStreamed...选项为BuildAddtio

2015-12-21 03:22:13 654

原创 节点共享型HFSM设计

一、什么是HFSM简单来讲就是状态机,但是HFSM状态机是有层级结构的,也就是说一个状态可能会有父级状态。这样分层次可以避免一个状态内部的子状态与外部的状态直接交互产生复杂的跳转过程,同时是很符合现实的。比如一个怪物有正常状态和战斗状态,正常状态下又有闲置、巡逻和找食物等子状态。而战斗状态下有施放技能、受控、被击飞等状态。但是正常状态的子状态和战斗状态的子状态不需要发生直接交互。二、何为节

2015-12-21 02:37:19 1323

原创 软件开发版本控制

一.项目包含3个版本1.主干trunck:开发版本,最新的版本,在该版本上开发新功能2.分支branch:发布版本,该版本是已经测好的可以随时用于下一次更新的版本3.tag:该版本是线上同步版本二、关于修改和提交1.对于新功能,直接在主干上修改和测试2.对于线上的问题,tag修好后合并到branch,再合并到trunk。所以测

2015-12-21 01:37:48 445

原创 技能效果树

一、在该设计结构里面技能系统包含以下结构:技能Ablil、效果Effect、Buff、状态、条件Requirement、行为。二、效果在技能效果树里面,所有的动画表现和伤害效果都是事件驱动的,同时也就是说该结构是以效果为核心来设计的。不同类型的效果会有不同的事件。这也是游戏扩展最需要处理的地方,以后慢慢研究了。三、技能包含以下事件OnCast:点击技能图标释放的

2015-12-21 01:21:04 920

原创 基于积分系统的AI设计

基本思想:为每个单独的行为打分,根据分数的高低来决定要执行的行为,所有的考虑因素就是打分的依据。缺点就是每一次决策的时候都需要计算所有行为的积分。

2015-12-21 00:34:23 877

原创 基于静态树的Behaviour系统设

这就是传说中的Behaviour Tree(简称BT)。一、结构BT的基本结构是节点,节点分为:控制节点:(也叫逻辑节点)包括顺序、选择、并行3种叶子节点:行为和条件节点二、Tips1.条件节点中的行为节点可以用1P+3E的结构来实现(PreCondition+Enter/Execute/Exit)2.控制节点需要提供一个Transition来完成转换时的清理工作。

2015-12-21 00:33:38 411

原创 基于行为命令队列的Behaviour系统设计

一、结构1.行为命令:AI决策层2.行为机:维护一个行为队列,并且执行的中的行为命令。             每个命令对应要特定的行为,这个行为就是行为节点。该点点实际上是个执行单元,进行动画播放等操作。3.行为节点:具体的执行单元。二、分析该结构类似于一个状态机。行为命令是状态机命令。行为机是状态机。行为节点是状态。三、Tips1.行

2015-12-21 00:32:51 473

原创 行为树结构(简易版)

一、AI智能体:IAIOwner,BT结点的逻辑都是对该类进行的二、结点类型IBehaviorTreeNode:行为树节点接口Process(IAIOwner)。BehaviorTreeRoot:行为树根,一个代理类,需要提供具体的根类。ConditionNode:条件节点,叶子节点。ActionNode:行为节点,叶子节点。CompositeNode:抽象类,复合节点,可

2015-12-21 00:32:21 1364

原创 行为树随笔

1.行为树里面的每个结点都有以下状态:Idle Run Sucess Fail Error几种状态。2.在执行时每个结点都调用Execute方法,该方法返回执行之后的状态结果,结果可能为结点状态里面的一个。3.每个结点执行结束(结果为Sucess Fail或者Error)时,执行Finish把逻辑交给父级结点。4.父级结点收到逻辑流权限时,根据当前子

2015-12-21 00:27:27 549

原创 1.Unity脚本生命周期

Unity中脚本按照一定的生命周期执行1.Awake最早执行,在GameObejct对象的数据和状态的初始化后执行,只会触发一次。tips:GameObject实例化到场景中后在激活的状态下才会初始化,如果GameObject从来未激活,它的脚本上的Awake永远不会被调用。即时触发,GameObject第一次active的时候调用。2.Start在脚本第一次调用Updat

2015-11-08 21:35:57 1391

转载 穷人是这样炼成的

穷人是这样炼成的? 你跟他说事业,他怀疑是传销。你跟他说学习,他说这是洗脑。你跟他说要改变,他说我这样挺好。你跟他说要尝试,他说万一不成咋办?你跟他说要创业,他说我没本钱。你跟他说要多与人沟通,他说我不好意思。你跟他说成长是痛苦的,他说我想不明白?你跟他说人生规划,他说你给多钱(谁给钱多,就奔谁去,FBI给你美元多,你去吗?)你跟他认清自己的优劣势,他说我没那把

2015-03-10 10:07:32 430

原创 Java环境之JDK配置

配置一个jdk环境。  1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;  2.安装完成后,右击“我的电脑”,点击“属性”;   3.选择“高级”选项卡,点击“环境变量”;  4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),

2013-09-16 00:46:03 754

unity5.4.1 shader中文手册

unity5.4.1 shader中文手册

2016-10-12

空空如也

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

TA关注的人

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