Unity
文章平均质量分 89
鬼眼邪神
移动开发
展开
-
NGUI控件说明——UIRoot
NGUI版本:3.0.x UIRoot总是放在NGUI UI层级的最上层。 它用来使UI的缩放变得更容易。widget通常使用的是以像素为单位的坐标,但是一个800*400(dimensions的值)的widget会占用800*400个单位(Unity中的单位),这相当大。UIRoot通过屏幕高度的反比来进行缩放,因此widgets都会很小,并且操作起来更容易。 UIRoot有几种缩放方式。原创 2015-05-10 17:40:09 · 502 阅读 · 0 评论 -
Unity3d热更新(一):更新思路
目前Unity手游的热更新基本采用如下思路: 首先将资源打包成AssetBundle。如果有两个对象共同依赖于同一个对象,需要采用依赖关系打包。AssetBundle需要根据不同的平台打包,各平台之间不能混用,如IOS和Android。 为打包后的资源生成MD5值,上传服务器后,通过比对服务器端和客户端文件的MD5值,找出改变的文件,下载到本地。 通过AssetBundle.C原创 2015-05-10 17:40:41 · 1287 阅读 · 0 评论 -
Unity3d热更新(三):更新资源流程
1.生成配置文件 在资源打包AssetBundle后,需要计算资源文件的MD5值,生成配置文件。下面给出一个例子: // 获取Res文件夹下所有文件的相对路径和MD5值 string[] files = Directory.GetFiles(resPath, "*", SearchOption.AllDirectories); St原创 2015-05-10 17:40:48 · 3491 阅读 · 1 评论 -
Unity3d热更新(二):资源打包AssetBundle
创建AssetBundle 1.新建一个cube,将其拉倒Project视图里创建预设。 2.在Assets目录下创建Scenes文件夹,创建场景scene1.unity。 3.新建ExportAssetBundles.cs,保存在Assets/Editor目录下。代码如下: using UnityEngine; using Uni转载 2015-05-10 17:40:44 · 1700 阅读 · 0 评论 -
NGUI控件说明——UIButton
NGUI版本:3.0.x Button是一个非常简单的组件,有以下功能:接收hover、pressed、click事件,修改指定的sprite颜色。Image Button组件可以和Button同时加到一个game object上,Image Button用来切换sprite。 Button组件可以挂在任何有collider的game object上。不需要一定挂在widget上。 但是一般情原创 2015-05-10 17:40:37 · 570 阅读 · 0 评论 -
NGUI控件说明——UIKeyBinding
NGUI版本:3.0.x UIKeyBinding会产生一个指定的按键事件,比如你按下‘1’后,绑定了这个脚本的game object就好像被点击了一样(就像快捷键上的魔法释放按键)。 也可以选择input filed后开始输入(就像敲回车一样)。 你是否想不写任何代码,通过按下“I”就可以打开玩家的仓库?现在你可以了。用Key Binding脚本绑定到它上面,之后把Key Code设置成“原创 2015-05-10 17:40:34 · 837 阅读 · 0 评论 -
NGUI控件说明——UITexture
NGUI版本:3.0.x UITexture是最基本的NGUI渲染组件。继承了UIWidget的所有功能,增加了可视化的部分——一个纹理——通过dimensions进行缩放。 指定一个Texture用来渲染。指定后会自动生成一个材质(material)。如果没指定Texture的话,会使用material的texture。 可以指定自己的Material 。但是会优先使用Textur原创 2015-05-10 17:40:31 · 1077 阅读 · 0 评论 -
NGUI控件说明——UIPopupList
NGUI版本:3.0.x 把UIPopupList脚本挂到一个button上,就可以在你点击按钮的时候弹出选项列表,之后选择你想要的选项。 想要创建一个有很多选项的popup list,首先你要挂一个UIPopupList脚本到一个Button上,然后指定Atlas和Font属性。你可以选择指定的sprite当做Background和Heighlight。Background用来当做弹出列表的原创 2015-05-10 17:40:27 · 959 阅读 · 0 评论 -
NGUI控件说明——UISprite
NGUI版本:3.0.x UISprite是NGUI里面最实用的。使用atlas纹理的一部份用来绘制sprite,继承UIWidget的所有功能。 sprite首先需要一个Atlas。点击Atals按钮会列出当前项目中已有的atlas。创建新的atlas要通过Atlas Maker工具(NGUI -> Open -> Atlas Maker)。 你可以点击Sprite选择按钮旁边的E原创 2015-05-10 17:40:23 · 656 阅读 · 0 评论 -
NGUI控件说明——UIPanel
NGUI版本:3.0.x UIPanel用来收集和管理它下面所有widget的组件。通过widget的geometry创建实际的draw call。没有panel所有东西都不能够被渲染出来。如果你对Unity熟悉,你可以把UIPanel当做Renderer。 所有panel都有一个Depth值,会影响所有它包含的widget。如果你的UI有很多窗口,那么最好每个窗口有一个panel。Panel原创 2015-05-10 17:40:20 · 702 阅读 · 0 评论 -
NGUI控件说明——UIWidget
NGUI版本:3.0.x UIWidget是NGUI的基础组件。简单来说,就是一个你可以放在屏幕任意位置的矩形框。widget会有一定的面积(如下图的白色框范围),但是在运行的时候(Game View)是完全不可见的,所以非常适合当做其他组件的容器(让所有的sprite或者label等以它进行各种对齐)。 UIWidget 也被用来当做所有NGUI元素的基类——所有你创建的sprites和la原创 2015-05-10 17:40:16 · 847 阅读 · 0 评论 -
NGUI控件说明—— UICamera
NGUI版本:3.0.x UICamera这个名字不是很合适,保留的原因仅仅是为了兼容以前的版本。 UICamera真正做的事情是发送NGUI事件给所有被当前camera渲染的object,camera是UICamera脚本所在的那个。 其实这个脚本做的事情和UI无关。事实上如果你想让游戏里面的object接收OnPress、OnClick、OnDrag等这类事件,你需要把UICamera挂在原创 2015-05-10 17:40:13 · 490 阅读 · 0 评论 -
Unity3d热更新(四):压缩文件
之前提到过通过AssetBundle.CreateFromFile读取本地AssetBundle,因为该方法只能读取未压缩的AssetBundle,所以打包AssetBundle时,需要选择BuildAssetBundleOptions.UncompressedAssetBundle未压缩模式,然后使用LZMA或GZIP压缩后上传服务器。本地下载后需要解压缩保存在Application.persi原创 2015-05-10 22:39:28 · 2542 阅读 · 0 评论