自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity工程里的那些东西

1、特殊文件夹(unity doc : Special Folders)Unity工程根目录下,有三个特殊文件夹:Assets、Library、ProjectSettingsAssetsUnity工程中所用到的所有Asset都放在该文件夹中,是资源文件的根目录,很多API都是基于这个文件目录的,查找目录都需要带上Assets,比如AssetDatabase。LibraryUnity会把Asset

2017-03-21 10:51:26 15026 2

原创 Unity5.x AssetBundle 的变化

前言:下面文字适用于对AssetBundle有一点了解的朋友,阅读大约10分钟,AssetBundle基本概念等知识可以网上找一下。1、打包API的变化Unity5.x中,AssetBundle相关的API做了极大的简化,合并了多个情况的函数,合并了资源和场景打包函数。 1、资源unity4.x : BuildAssetBundle,BuildAssetBundleExplicitAsset

2017-03-16 06:40:18 3915

原创 Unity NGUI屏幕适配

屏幕适配是每个手机应用和游戏都会解决的问题,当然在开发的过程中会遇到各种各样的坑,这次,我们就来讨论一下unity项目中的屏幕适配吧!#目录1. 屏幕适配的分类2. 哪些内容需要适配3. unity中常见的适配方式4. 游戏内容适配5. NGUI的适配方案6. UGUI的适配方案

2016-10-17 11:12:13 8344

原创 Unity NGUI和UGUI与模型、特效的层级关系

目录1、介绍两大UI插件NGUI和UGUI 2、unity渲染顺序控制方式 3、NGUI的控制 4、UGUI的控制 5、模型深度的控制 6、粒子特效深度控制 7、NGUI与模型和粒子特效穿插层级管理 8、UGUI与模型和粒子特效穿插层级管理写在前面这篇笔记是整理了之前做的记录,在做项目的过程中,遇到了各种各样的界面穿插问题,界面层级混乱,比如,手机卡了或点快了,就导致两个界面相互交叉。

2016-10-05 11:39:34 22622 4

原创 Lua语言入门(四)

环境的概念45、环境:lua将其所有的全局变量(值、函数、table)保存在一个常规的table中,这个table称为环境,可以认为一个chunk只有一个环境,在lua5.2以后就不允许修改某个函数的环境了。全局变量存在一个叫 _G 的表中。环境的概念是针对全局变量的,对local变量无影响。利用table访问的元方法可以控制全局变量的访问--绕过元表,创建全局变量 a ,并赋值为“android”

2016-10-05 11:21:18 790

原创 Lua语言入门(三)

协同程序36、协同程序(coroutine) 4种状态:挂起(suspended)、运行(running)、死亡(dead)、正常(normal)创建(挂起状态):local co = coroutine.create( function()  print("coroutine") end)启动或再次启动协程(状态由挂起改为运行):coroutine.resume(co)coroutine在

2016-10-05 11:17:35 886

原创 Lua语言入门(二)

函数24、函数 格式:function fun_name(params)--bodyend调用方式:o.fun(x)  或  o:fun(x),其中冒号调用方式会隐含将o作为函数第一个参数传入;参数:形参和实参数量可以不同,规则和多重赋值一致;多重返回值:只需在return时这样写  – return a, b, c print可以接受不同数量的实参,多重返回值的函数可以直接作为其它函数的参

2016-09-23 09:30:39 743

原创 Lua语言入门(一)

开篇1、几个连续语句之间不需要分割符,但也可以使用分号分割。 比如: a = 1 b = 2等价于a = 1; b= 22、lua解释器对于大型程序块处理不会有任何问题。3、在交互模式中执行代码 或 将程序代码保存到一个文件中再执行,退出交互模式:调用os.exit(),或输入 end of file控制符(windows上是ctrl + z, unix上是Ctrl + d)。4、lua -i he

2016-09-21 12:55:18 969

原创 基于NGUI的unity界面管理的讨论

写在前面 刚刚做的项目,由于界面管理做的不太好,所以在开发的过程中出现了很多奇怪或难缠的bug,搞得我们几个写UI逻辑的越写越觉得没意思,想方设法的到处打补丁,后来也就是在这样的情况下,一直在总结开发中关于界面上遇到的坑,写了一年多的UI逻辑,针对那些由于界面架构上导致的问题,自己琢磨了一个简易的UI框架,只是简单的跑了一下没什么问题。好了正式开始吧。关于界面的问题(我开发时遇到的) 这个可是太

2016-09-18 10:23:55 3963 2

原创 线性渲染(Linear Rendering)和Gamma Correction

概述线性渲染就是渲染场景所有输入都是线性的。一般来说存在的纹理都是经过Gamma矫正了的,也就是说当纹理被采样到一个材质上时,颜色值已经不是线性的了。如果这些纹理用通常的计算方式去计算光照和图片效果,在非线性空间计算,这将导致轻微的偏差。(而这种偏差就是需要Gamma矫正的原因) 线性渲染保证了在shader中输入与输出都是在正确的颜色空间得出更正确的结果。Gamma矫正所谓伽玛校正就是对图像的伽玛

2016-09-09 17:30:56 17519 2

原创 对异常检查的思考

问题引入在数据层各个模块之间的调用,比如A调用B,而B需要去拿C的数据做一些逻辑判断,如果C的数据为空就会报出空指针异常,那么问题来了,B“拿”到C数据需不需要做数据检查?一种回答是:既然都知道空指针异常了,肯定得做数据检查啊。 首先可以肯定是必须数据检查的,但仔细想想,问题就来了,在这写数据检查只不过是一种打补丁方式,这种调用情况在项目中随处可见,那么出现B拿C数据的情况就一定要检查吗?就这个问

2016-08-31 17:11:02 873

转载 Java之Semaphore

一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,否则就等待。通过acquire()和release()获取和释放访问许可

2016-05-23 17:20:51 823 1

原创 多线程学习-传统线程技术创建

从第一天学习JavaSE开始,接触的例子程序都是在public static void main中运行的,这个方法是一个Java程序的入口,整个Java工程中只有一个类能拥有这个方法。在这个方法中运行的程序都是在主线程中跑的。从开始到程序结束,只有一条路径,只能走这一条路。多线程最简单的来说就是,为程序开辟多条运行的路径,即从开始到最后,有几条路同时运行,同时使用cpu资源。程序并行技术是

2014-04-28 15:17:55 1043

原创 Box2d学习笔记六:b2Body所用的属性和物理属性

今天我们学习了b2Body的属性和物理属性。刚体的属性封装在一个叫b2BodyDef的类中,注意,在box2d中凡是以def结尾的类都是某某属性的封装类。打开API文档:b2BodyDef:b2BodyType type//刚体的类型,动态、静态b2Vec2 positionfloat32 an

2014-03-09 21:39:59 2300

原创 Box2d学习笔记五:API学习之b2World

以前做Android开发,每次需要查文档的时候,某个类某个方法,我就情不自禁的会把相关的方法全部看一遍,有些没用过的就猜它的意思,然后测试,我觉得这样的学习方法能快速的了解API,了解该类能完成的功能,所以按照我的惯例,学习box2d我也是喜欢看API文档,废话不多说了,上菜。有些的就不一一说明了:void SetDestructionListener 

2014-03-08 11:34:46 2080

原创 Box2d学习笔记四:API学习之b2Body

经过上两次的文章,我们已经对box2d进行物理模拟有了大概的认识,下面我们详细的了解box2d提供的各个类和它们的函数。参照帮助文档:b2Fixture * CreateFixture (const b2FixtureDef *def)//创建框架b2Fixture * CreateFixture (const b2Shape *shap

2014-03-08 11:07:23 1988

原创 Box2d学习笔记三:box2d中几个重要的类

我们已经知道box2d中的唯一物种:刚体,然而仅仅一个刚体对象并不能完成相应的物理模拟。如果看过box2d的帮助文档就知道,b2Body中提供的函数和属性中,并没有我们需要的物理属性,可以回忆一下,我们读高中那会儿,上知天文下知地理,那些物理量到现在还能记住一些。为了很好的模拟现实的物理世界,box2d中当然会提供各种物理量,而这些物理量表现了刚体的各种性质,比如:摩擦力,恢复系数,力,扭矩等

2014-03-08 10:37:13 1391

原创 Box2d学习笔记二:第一个box2d程序

继续探索box2d,有了调试绘图,下面测试物理程序就好多了,不用与cocos2d-x中精灵联系就可以测试了。一个世界需要有边界,不然我们的游戏元素就到处跑,没有范围限制了,所以在游戏中如果需要物理引擎,编写刚体的第一步就是为我们的物理世界加上一个范围边界,这样刚体就不会跑出去了。补充一下:刚体(b2Body):是box2d中的唯一物种,没有其它生物了。刚体有分为三种静态物体(b2_

2014-03-07 17:04:15 1054

原创 Box2d学习笔记一:在cocos2d-x中启动调试绘图

box2d作为一款开源的物理引擎,深受开发者的喜爱,从今天开始正式学习box2d,为我们的游戏增加物理模拟吧。cocos2d-X用的物理引擎之一就是box2d,学习box2d,首先要弄清刚体的概念。所谓刚体,就是他的形状不为任何外力所改变,它具有质量和关系,运动状态又重心和受力决定。在box2d世界中,符合经典力学的各种规律。为了方便开发调试,下面是启动box2d的调试绘图,就可以看见自己

2014-03-07 16:31:19 1894

原创 Fragment使用时出现错误:he specified child already has a parent. You must call removeView() on the child's p

今天学习了Fragment的用法,了解它的基本原理和生命周期,以及常用方法。可是在动态向Activity中加入Fragment或替换Fragment时总是出现如下错误:在网上找了很久的资料,都没有找到关于Fragment相关的这类错误。只是知道这是“根”错误。困惑……下面我就从头开始,我所做的例子:这是Activity的布局文件:    xmlns:tools="htt

2013-11-05 22:38:06 2231

空空如也

空空如也

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

TA关注的人

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