一、
NGUI的直接用法1.
AttachaCollider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加。(注:用Component添加无效)。2.
AttachanAnchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题3.
AttachUIStretch:表示为该物体添加了UIStretc..
分类:
其他好文 时间:
2014-07-30 15:00:34
阅读次数:
943
Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我们还是先看眼前吧。一、实现思想 商城的功能是很多游戏都拥有的,按下一个界面按钮,弹出一个窗体。 然后是商城中的商品可以拖动,既可以用手,也可以用滑条等等,至于点击购买就不单单是UI层的事...
分类:
其他好文 时间:
2014-07-30 00:29:12
阅读次数:
420
UI2DSprite roleSprite=GetComponent("roleSprite");var roleSprites = Resources.LoadAll("sprite的路径");roleSprite.sprite2D = roleSprites[1];//1是某一帧的索引
分类:
其他好文 时间:
2014-07-29 20:56:22
阅读次数:
253
传统按钮置灰,需要使用另外一张纹理。本例通过修改shader和NGUI sprite的r值实现按钮置灰。优势:节省纹理,操作简单将NGUI Unlit/Transparent Colored片段部分改成如下:fixed4 frag (v2f i) : COLOR{ fixed4 col= te...
分类:
其他好文 时间:
2014-07-28 14:52:43
阅读次数:
392
public GameObject _background;public UIAtlas atlas;private Dictionary _allCardSprite;for (int i=0; i(_parent); _sprite.atlas = atlas; ...
分类:
其他好文 时间:
2014-07-25 16:44:51
阅读次数:
293
1.创建2D场景
要使用NGUI创建2D场景,首先咱们必须新建一个项目,并且导入NGUI作为这个项目的插件,相信如果看过上一篇教程都知道怎么导入NGUI了,这里就不赘述,如果有疑问的可以去看上一篇教程。这里我已经导入成功了。在菜单中可以看到NGUI的菜单
在工程面板中可以看到有NGUI的文件夹
接下来咱们可以点击菜单中的【NGUI】-->【Create】-->【2D UI】,创建成功...
分类:
其他好文 时间:
2014-07-24 23:22:04
阅读次数:
277
这里判断缓存文件是否存在使用的是url.GetHashCode()方法,因为我们的图片文件名采用的是原URL的哈希码直接作为文件名来保存,重名概率可以忽略不计,也缩短了文件名的长度提高效率,这个做法借鉴于 iOS开源框架EGOImageView。
如果是第一次加载图片,这个URL对应的文件不存在,那么我们就去原URL下载图片然后赋值给控件
如果缓存文件夹中已有该文件,直接读取加载
由于前文的铺垫,我们的工具类已经是MonoBehaviour的单例子类,所以可以使用unity的异步函数StartCorutin...
分类:
其他好文 时间:
2014-07-23 17:17:21
阅读次数:
370
我们在移动端的开发中,异步网络图片加载用的非常的多,在unity当中虽然有AssetBundle的存在,一般是先加载好游戏资源然后再进入场景,但是还有不少地方能够用到异步网络图片的加载以及其缓存机制。
我之前也写过两个版本的ios中的异步网络图片加载helper类,所以今天按照同样的思路,也想做一个好用的helper类给大家使用以及简单的说下实现原理。
首先我们加载一张网络图片,要做的事情分步来讲为:
0.开始之前设置一张固定的图片作为占位图(placeholder),表示我们的图片还没加载好,来填充当前图...
分类:
其他好文 时间:
2014-07-23 00:06:17
阅读次数:
338
看了许多的文章都有讲到关于NGUI的事件管理,许多人的做法的是封装一个事件处理层,避免在每个UI控件上都绑定事件处理脚本。我们项目的做法是:在每一个需要进行事件处理的控件上绑定UIEventListener脚本 然后每一个UI采用一个Scene,每一个UI对应一个CUI的Class 比如:cb-Ar...
分类:
其他好文 时间:
2014-07-22 22:41:14
阅读次数:
248
Time类掌控了Unity3D游戏世界的时间,通过它可以带着你的各种游戏对象去做时间旅行。Time.TimeScaleTime.FixedDeltaTimeTime.fixedDeltaTime=0.02*Time.timeScale;
分类:
其他好文 时间:
2014-07-22 14:56:45
阅读次数:
212